我有一个包含两个片段的应用程序,每个片段都有一个列表视图。从列表中选择元素时,上下文菜单会自动出现,我处理事件等等......到目前为止一切都很好,但我的问题是当我更改为另一个片段时,上下文菜单保持可见,因此用户可能会感到困惑认为它是当前可见列表视图中的上下文菜单。
我试过打电话
getActivity().closeContextMenu();
在片段之间切换但它不起作用。
任何建议将不胜感激。
谢谢!
我有一个包含两个片段的应用程序,每个片段都有一个列表视图。从列表中选择元素时,上下文菜单会自动出现,我处理事件等等......到目前为止一切都很好,但我的问题是当我更改为另一个片段时,上下文菜单保持可见,因此用户可能会感到困惑认为它是当前可见列表视图中的上下文菜单。
我试过打电话
getActivity().closeContextMenu();
在片段之间切换但它不起作用。
任何建议将不胜感激。
谢谢!
我找到了一个解决方案:
我正在使用 ListView.CHOICE_MODE_MULTIPLE_MODAL 进行多项选择,在 MultiChoiceModeListener 我保存操作模式以供以后使用:
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();
}