我的 Activity 有一个带有 ActionBar 的 listView。长按列表项时,会触发上下文动作模式。但是,在屏幕旋转过程中,动作模式会丢失。
我知道我可以通过在 onsaveInstanceState/restoreInstancestate 方法中重新触发 Action 模式来恢复状态。但是我想知道Action模式中有没有内置方法可以恢复其状态?
谢谢!
我的 Activity 有一个带有 ActionBar 的 listView。长按列表项时,会触发上下文动作模式。但是,在屏幕旋转过程中,动作模式会丢失。
我知道我可以通过在 onsaveInstanceState/restoreInstancestate 方法中重新触发 Action 模式来恢复状态。但是我想知道Action模式中有没有内置方法可以恢复其状态?
谢谢!
声明android:configChanges
inAndroidManifest.xml
将指示 Activity Manager 不为这些配置更改重新创建您的活动(默认行为),在这种情况下,您的操作栏状态将被重置。
android:configChanges="orientation|screenSize"
默认情况下,此声明会将下一个生命周期回调路由到onConfigurationChanged()
, then onResume()
。
如果您的应用程序在特定配置更改期间不需要更新资源,并且您有性能限制要求您避免重新启动活动,那么您可以声明您的活动自己处理配置更改,这会阻止系统重新启动您的活动。
来源:http: //developer.android.com/guide/topics/resources/runtime-changes.html