我有一个带有MultiChoiceModeListener的ListFragment用于上下文操作模式。长按后,项目将被选中。但是:如果我旋转屏幕,选择会丢失,但Android仍然处于动作模式。这意味着:您仍然可以在屏幕旋转之前选择对所选特定项目的操作。
我想在屏幕旋转后离开动作模式。只显示正常的OptionsMenu。似乎比听起来更难。我在onCreate()中尝试过那些:
不幸的是,上面没有任何作品。
感谢您的帮助。 :)
答案 0 :(得分:0)
退出ActionMode
的方法是致电actionMode.finish()
。
很遗憾,您只能在ActionMode
中获得对onItemCheckedStateChanged
的引用,因此您必须将其泄露到Activity
。然后,Activity
可以决定在onStop/onDestroy
或onConfigurationChange
中完成它(取决于您是否正在处理配置更改)。
它并不优雅,但它是我现在能想到的最好的。
编辑: 实际上,你有一个不同的问题 - 为什么ListView不记得它的选择?
如果savedInstanceState
中的onCreate
不为空(即让ListView恢复其状态),请尝试不进行初始化,然后看看会发生什么。