Я делаю приложение Android для загрузки данных в RecyclerView с ImageView внутри как кнопка переполнения. Когда пользователи нажимают на него, отображается PopupMenu с вариантами выбора. Мне удалось показать это, но позиция кажется неправильной. Посмотрите скриншоты.
Только первые два элемента выглядят нормально. Вот исходный код:
view.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { final PopupMenu popupMenu = new PopupMenu(context, view); final Menu menu = popupMenu.getMenu(); popupMenu.getMenuInflater().inflate(R.menu.menu_item_action, menu); popupMenu.setOnMenuItemClickListener(onMenuItemClickListener); switch (Global.listMode) { case Global.LIST_STYLE_NORMAL: { menu.findItem(R.id.action_delete).setVisible(false); break; } case Global.LIST_STYLE_FAVORITE: { menu.findItem(R.id.action_add_to_favorite).setVisible(false); break; } case Global.LIST_STYLE_WATCH_LIST: { menu.findItem(R.id.action_add_to_watch_list).setVisible(false); break; } case Global.LIST_STYLE_DOWNLOAD: { menu.findItem(R.id.action_download).setVisible(false); break; } } itemPosition = (int) view.getTag(R.id.tag_item_position); popupMenu.show(); } });
Можете ли вы, ребята, указать мне на проблему, я потратил несколько часов на поиски, но до сих пор ничего не нашел.
P / S: нажатая кнопка отмечена красным кружком.
Любая помощь будет оценена!
К счастью, я только что нашел способ решить проблему:
android.widget.PopupMenu
не android.support.v7.widget.PopupMenu
final PopupMenu popupMenu = new PopupMenu(context, view);
С final PopupMenu popupMenu = new PopupMenu(context, v);
Честно говоря, я не знаю, почему, просто попробуй это и вуаля!
Я не очень уверен, но похоже, что подобная проблема здесь обсуждается, и у нее уже есть принятый ответ. Надеюсь, это поможет вам справиться с вашей проблемой. Просто наткнулся на ваш вопрос и увидел тему, обсуждаемую в ссылке, и подумал, что, возможно, это тоже будет полезно для вас.