我的应用程序有两个活动:MasterActivity
和DetailActivity
。 MasterActivity
有两种可视化模式:列表模式和映射模式。一个操作栏项目在它们之间切换。活动之间维持状态
当用户进入DetailActivity
并返回时,我想维持所选的可视化模式。在开始时,我使用了SharedPreferences
,但是即使在设备启动或长时间不活动的时间之后,用户也会恢复以前的可视化模式,这并不是我的意思。
然后我切换到Bundle
和onSaveInstanceState
但是,当上DetailActivity
后退按钮用户点击,onCreate
的Bundle
永远是空的,所以我不能恢复到以前的可视化模式,它总是回复到列表中的一个。
应用程序使用Toolbar
和AndroidManifest.xml
配置这样的:
<activity
android:name=".ui.MasterActivity"
android:label="@string/title_activity_master"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".ui.DetailActivity"
android:parentActivityName=".ui.MasterActivity"
android:theme="@style/AppTheme.NoActionBar">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="it.returntrue.revalue.ui.MasterActivity" />
</activity>
你可以添加该方法的代码:在您的DetailActivity公共布尔onOptionsItemSelected(MenuItem项)? – Christopher