1

這裏是我的問題:共享偏好以及偏好片段

  1. 我怎樣才能得到一個開關偏好的價值?
  2. 偏好片段中的東西是否已經是共享偏好?
  3. 如果是這樣,我如何從首選項片段訪問共享首選項?

回答

2

1.爲了得到一個開關的值:

CompoundButton cb = (CompoundButton)view.findViewById(R.id.myswitch); 

if(cb.isChecked()) 
    cb.setChecked(false); 
else 
    cb.setChecked(true); 

參考:Toggle Buttons

2.是,元件在PreferenceFragment被自動存儲。

要獲得PreferenceFragmentSharedPreference對象,使用方法:

getDefaultSharedPreferences(Context context) 
+0

不,沒有。是一個複合按鈕,與開關首選項相同? –

+0

,並且我沒有看到首選片段的任何id元素。 –

+0

是的。你有沒有嘗試過的代碼?我在一些項目中使用了這個 –

0

這是一個關於如何使PreferenceFragment一個驚人的例子: http://android-er.blogspot.hu/2012/07/example-of-using-preferencefragment.html

基本上它的工作方式是,你定義與它們的類型和密鑰的偏好。首選項片段將其數據存儲在您通過Android getDefaultSharedPreferences獲得的SharedPreferences中,並編輯其值並從編輯器獲取它們。

在Preference Fragment中,您會自動獲取Fragment和SharedPrefs之間鏈接的prefs數據。

也期待在本實施例中的代碼:http://www.mysamplecode.com/2011/11/android-shared-preferences-example_12.html