我有一個「活動」從SharedPreferences
讀取一些值,並在TextView
顯示出來,然後我打電話「活動B」表示從SharedPreferences
價值得到更新並寫回SharedPreferences
。最後,我通過按下後退按鈕返回「活動a」,現在應該從SharedPreferences
中讀取新的(更新的)值並在TextView
中顯示。但問題來了,剛剛從SharedPreferences
讀取的值仍然沒有更新(不是由活動b設置的新值)(從logcat輸出得到的),這是怎麼回事? SharedPrefs
是否需要某種手動刷新?安卓:活動繼續更新SharedPrefereces不起作用
如果我重新啓動「活動a」,一切正常,新值正確顯示。怎麼了?
我將該方法稱爲「活動a」中的onResume()
,並顯示其值。
我也嘗試重新實例化SharedPrefs對象(與getSharedPreferences()
),但它也沒有幫助。
在此先感謝!
沒有活動B犯? – Snicolas 2011-06-09 13:32:36
是的,它肯定寫入到SharedPref中,因爲顯示了新的值,但只有在活動/應用程序重新啓動後。 – iDroid 2011-06-09 13:37:59
嗯那麼getSharedPreferences()只在onCreate registerOnSharedPreferenceChangeListener和onDestroy中的unregiser 並在Listener中進行更改? – Selvin 2011-06-09 13:47:34