我的应用程序有3个步骤来首次设置它。
在每个步骤中,我希望用户能够修改首选项,因为它不是PreferenceScreen我无法添加CheckBoxPreference。
我尝试使用CheckBox视图,但我不知道如何让它影响首选项。
如何做到这一点?
答案 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
}
});