如何从CheckBox视图修改首选项?

时间:2015-01-02 02:19:39

标签: android checkbox preferences

我的应用程序有3个步骤来首次设置它。

在每个步骤中,我希望用户能够修改首选项,因为它不是PreferenceScreen我无法添加CheckBoxPreference。

我尝试使用CheckBox视图,但我不知道如何让它影响首选项。

如何做到这一点?

1 个答案:

答案 0 :(得分:0)

您可以为您的首选项写一个布尔值,如下所示:

    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
    if(prefs == null)
        return;

    SharedPreferences.Editor editor = prefs.edit();
    if(editor == null)
        return;

    editor.putBoolean("prefs_key_for_your_boolean", someBoolean);

    editor.commit();

并加载它:

    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
    if(prefs == null)
        return;

    someBoolean = prefs.getBoolean("prefs_key_for_your_boolean", defaultBooleanValue);

当您要保存时,请从复选框视图中读取值:

    someBoolean = checkBoxView.isChecked();

使用从prefs加载的值设置它,如下所示:

    checkBoxView.setChecked(someBoolean);

您可以像这样收听复选框状态的更改:

    checkBoxView.setOnCheckedChangeListener(new OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            // add code here
        }
    });