我有一个带有两个片段的应用,每个片段都有一个列表视图。当从列表中选择元素时,上下文菜单会自动出现,我处理事件......到目前为止一直很好,但我的问题是当我更改为其他片段时,上下文菜单保持可见,因此用户可能会感到困惑,认为它是当前可见列表视图中的上下文菜单。
我试过调用
getActivity().closeContextMenu();
在片段之间切换但不起作用。
任何建议都会非常感激。
谢谢!
答案 0 :(得分:0)
我找到了解决方案:
我正在使用ListView.CHOICE_MODE_MULTIPLE_MODAL进行多项选择,在MultiChoiceModeListener中我保存了actionmode供以后使用:
public void onItemCheckedStateChanged(ActionMode mode, int position, long id, boolean checked) {
// item selected
Log.d("FilesFragment.ContextMenu", "onItemCheckedStateChanged(); position: " + position);
actionmode = mode; // <- I save the action mode for later use
listadapter.getItem(position).setSelected(checked);
}
然后,当我检测到用户想要更改为另一个标签框时,我调用
if (actionmode!=null){
actionmode.finish();
}