我遇到了我認爲是SharedPreferences簡單使用的問題!將Fragments中的SharedPreference設置爲Tabs
目的:我有一個帶有MainActivity的ActionBar/Tab應用程序和4個選項卡作爲滑動片段。我希望應用程序記住最後一個用戶選擇的選項卡,以便在應用程序的下一次啓動時,它默認使用該選項卡。
代碼中的每個片段(在onCreateView
法):
SharedPreferences prefs = getActivity().getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit().putInt("tabPref", 0);
editor.apply();
其中"tabPref", 0
是選項卡(0-3)的PREF和號碼的名稱。
在MainActivity,我使用下面的閱讀偏好和設置默認選項卡上啓動應用程序(在的onCreate):
SharedPreferences prefs = getPreferences(Context.MODE_PRIVATE);
Integer tabPref = prefs.getInt("tabPref", 99);
mViewPager.setCurrentItem(tabPref, false);
但是,我得到了一些很奇怪的喜好是設置,不符合標籤的選擇(例如,表4甚至沒有設置首選項,標籤1-3隨機設置整數0,1,2或3 - 我使用System.Outs來查看發生了什麼)。
我是否錯過了關於不正確設置SharedPreference的片段的生命週期的基礎知識?
感謝....