2014-06-23 61 views
1

因此,要以編程方式更改該值,通常會執行findPreference("my_key")並獲取首選項的參考以更改該值。從非PreferenceActivity/Fragment更改首選項值

如何編程不是在PreferenceActivityPreferenceFragment但在一個簡單的ActivityFragment

是否有可能得到Preference參考(如果是這樣,如何)?或者我應該這樣做舊學校的方式得到SharedPreference參考,並使用Editor

回答

1

所以要以編程方式更改該值,您通常會執行findPreference(「my_key」)並獲取首選項的引用以更改該值。

僅用於更改首選項UI中表示的值。事實上,它可能更新持續的價值是一個副作用,而不是目的。

是有可能得到一個偏好參考

或者我應該做的老同學的方式得到一個SharedPreference參考,並使用編輯器?

是的。

+0

你能否用一個例子更新答案?因爲我無法以這種方式獲得現有首選項的值 - getSharedPreferences(APP.PREFS_NAME,0).getString(「my_key」,「empty」));'我收到了「空」 – HiB

+0

@HiB:您的評論與這個問題無關。如果你得到''空'',那麼在'SharedPreferences'文件中沒有一個名爲''my_key''的偏好。你可能希望在你提供更多細節的地方打開你自己的堆棧溢出問題。 – CommonsWare

+0

謝謝,我[已經寫了一個](http://stackoverflow.com/questions/25837236/how-to-change-preference-value-from-non-preferenceactivity-fragment) – HiB