Android 切换到其他帧时如何关闭关联菜单?
我有一个有两个片段的应用程序,每个片段都有一个listview。当从列表中选择元素时,关联菜单会自动出现,我会处理事件等等。。。到目前为止还不错,但我的问题是,当我切换到另一个片段时,上下文菜单保持可见,因此用户可能会认为它是当前可见列表视图中的上下文菜单而感到困惑 我试过打电话Android 切换到其他帧时如何关闭关联菜单?,android,contextmenu,android-listfragment,Android,Contextmenu,Android Listfragment,我有一个有两个片段的应用程序,每个片段都有一个listview。当从列表中选择元素时,关联菜单会自动出现,我会处理事件等等。。。到目前为止还不错,但我的问题是,当我切换到另一个片段时,上下文菜单保持可见,因此用户可能会认为它是当前可见列表视图中的上下文菜单而感到困惑 我试过打电话 getActivity().closeContextMenu(); 在片段之间切换但不起作用时 任何建议都将不胜感激 谢谢大家! 我找到了一个解决方案: 我正在使用ListView.CHOICE\u MODE\u M
getActivity().closeContextMenu();
在片段之间切换但不起作用时
任何建议都将不胜感激
谢谢大家! 我找到了一个解决方案:
我正在使用ListView.CHOICE\u MODE\u MULTIPLE\u MODE进行多项选择,在MultiChoiceModelListener中,我保存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);
}
如果两个片段在同一个活动中,则在第二个片段onCreate中检查上下文菜单是否打开,然后关闭。
if (actionmode!=null){
actionmode.finish();
}