Android 如何在首选项活动中使用切换/切换按钮

Android 如何在首选项活动中使用切换/切换按钮,android,xml,preference,Android,Xml,Preference,我环顾四周,但找不到一个教程告诉我如何在我的首选项活动和主要活动中使用switchpreference。我想知道如何使用SharedReference在我的应用程序中实现它。样本代码将不胜感激。提前感谢preference.xml: 为更改注册共享首选项对象 SharedPreferences sharedPrefs = PreferenceManager .getDefaultSharedPreferences(MainActivity.this);

我环顾四周,但找不到一个教程告诉我如何在我的首选项活动和主要活动中使用switchpreference。我想知道如何使用SharedReference在我的应用程序中实现它。样本代码将不胜感激。提前感谢

preference.xml:

为更改注册共享首选项对象

    SharedPreferences sharedPrefs = PreferenceManager
            .getDefaultSharedPreferences(MainActivity.this);
    sharedPrefs.registerOnSharedPreferenceChangeListener(new OnSharedPreferenceChangeListener() {
        @Override
        public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
            boolean test = sharedPreferences.getBoolean("test", false);
            Log.e(TAG, "Value:" + test);
        }
    });

我和我的另一家公司有类似的问题。我用

修复了它。R.string.SWITCH是什么意思?我应该创建一个字符串吗?这是您的XML中提供给您的首选项的名称
android:key=“pref_sync”
我如何在我的主要活动中调用它?您可以通过创建共享引用直接使用,如
SharedReferences SharedReferences=PreferenceManager.GetDefaultSharedReferences(此);获取字符串(“pref_sync”)
public class TestPrefActivity extends PreferenceActivity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.sample);
    }
}
    SharedPreferences sharedPrefs = PreferenceManager
            .getDefaultSharedPreferences(MainActivity.this);
    sharedPrefs.registerOnSharedPreferenceChangeListener(new OnSharedPreferenceChangeListener() {
        @Override
        public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
            boolean test = sharedPreferences.getBoolean("test", false);
            Log.e(TAG, "Value:" + test);
        }
    });