當設備Orientation
更改時,如何保存我的選項卡狀態? 我有一個ArrayList
保存當前打開的所有標籤Android中的處理方向
ArrayList<TabHost.TabSpec> mTabList = new ArrayList<TabHost.TabSpec>();
更改設備的Orientation
清除用戶創建的所有選項卡。
我會這樣做savedInstanceState
但我不知道如何捆綁它,如果這甚至可能。
您有什麼建議?
當設備Orientation
更改時,如何保存我的選項卡狀態? 我有一個ArrayList
保存當前打開的所有標籤Android中的處理方向
ArrayList<TabHost.TabSpec> mTabList = new ArrayList<TabHost.TabSpec>();
更改設備的Orientation
清除用戶創建的所有選項卡。
我會這樣做savedInstanceState
但我不知道如何捆綁它,如果這甚至可能。
您有什麼建議?
在包含問題列表的活動清單中,添加configChanges屬性。對於該屬性的值將其設置爲「orientation」。這應該停止重新啓動活動的默認行爲,這就是爲什麼您的列表已被清除。
好的...我補充說,它調用onConfigurationChanged,但它仍然調用onCreate也... o_O所以標籤仍然得到重置... – bwoogie
是它擴展TabActivity不會影響它......會嗎? - 編輯 - 切換到橫向模式時,它也不會調用onConfigurationChanged - 僅限縱向。我一定是做錯了什麼...... – bwoogie
嗯我每次改變方向都會得到這個... 11-22 22:00:55.503:W/PhoneWindow(1051):以前專注的視圖在保存期間報告的ID爲2131230728,但在恢復期間無法找到。 – bwoogie
如果你的要求是,以節省定位應用程序的狀態,而不會停止改變了方向的默認行爲,請參閱本Reference
可以使用savedInstanceState.putParcelableArrayList(鍵,值)..整個想法會取決於你是否想要重新加載方向改變的資源,說如果你使用橫向和縱向模式不同的佈局資源。使用android:configChanges =「orientation」的其他處理將是更好的選擇
我會這樣做,但沒有「savedStateInstance.putArrayList
嘗試使用savedInstanceState.putParcelableArrayList(key,value) 。 –
嘿,好友只是放在清單文件
<activity android:name="YourActivityName" android:configChanges="orientation|keyboardHidden"></activity>
只要記住
android:configChanges="orientation|keyboardHidden"
如果上面的解決方案是不是爲你工作你的情況,那麼你可以使用
Saving Android Activity state using Save Instance State
希望這將工作...
當配置更改時,您可以跳過活動的重新創建。 –