我的應用程序有兩個活動: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