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