PopupMenu在RecyclerView中没有正确定位

Byu*_*eng 7 java android popupmenu imageview android-recyclerview

我正在制作一个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();
  }
});
Run Code Online (Sandbox Code Playgroud)

你们可以指出我的问题,我花了几个小时搜索,但现在仍然没有找到任何东西.

P/S:点击的按钮标有红色圆圈.

任何帮助将不胜感激!

Byu*_*eng 10

幸运的是,我刚刚找到了解决问题的方法:

  • 使用android.widget.PopupMenuandroid.support.v7.widget.PopupMenu
  • 替换final PopupMenu popupMenu = new PopupMenu(context, view);final PopupMenu popupMenu = new PopupMenu(context, v);

老实说,我不知道为什么,只是尝试一下,瞧!