相关疑难解决方法(0)

如何为RecyclerView创建上下文菜单

如何实现上下文菜单RecyclerView?显然调用registerForContextMenu(recyclerView)不起作用.我是从片段中调用它的.有没有人有成功实现这个?

android contextmenu android-recyclerview

89
推荐指数
8
解决办法
7万
查看次数

如何在多片段活动中处理onContextItemSelected?

我目前正在尝试调整我的应用程序以使用"适用于Android v4的兼容性库",以便为Android 1.6用户提供使用片段的好处.

上下文菜单的实现似乎很棘手:

  • 该应用程序的主要活动是扩展FragmentActivity 类.
  • 这些片段都基于一个扩展Fragment类的类.
  • fragment类在其onCreateView()方法中调用 registerForContextMenu()并覆盖 onCreateContextMenu()onContextItemSelected()方法.

对于onCreateContextMenu(),这非常有效.上下文菜单从资源文件中膨胀,并根据所选项目进行略微修改(基于listView ...即使片段不是ListFragment).

选择上下文菜单项时会发生此问题. 从第一个添加的片段开始,为所有当前存在的片段调用onContextItemSelected().

在我的例子中,片段用于显示文件夹结构的内容.当打开子文件夹片段的上下文菜单并选择菜单项时,首先在上层调用onContextItemSelected()(取决于此时允许/可见的片段数).

现在,我使用活动级别上的字段的变通方法,该字段包含调用其onCreateContextMenu()的最后一个片段的标记.这样,当存储的标记与getTag()不同时,我可以在onContextItemSelected()的开头调用"return super.onContextItemSelected(item)" .但这种方法对我来说有点脏.

为什么在所有片段上调用onContextItemSelected()?而不只是一个调用onCreateContextMenu()的人

处理这个问题最优雅的方法是什么?

android contextmenu android-fragments android-support-library

68
推荐指数
5
解决办法
2万
查看次数