例如,如果我的手机电池突然取出,则会选中该复选框。知道如何解决这个问题吗?
拔出电池或意外关机时不会调用任何事件。解决此问题的唯一方法是在每次更改首选项时保存首选项。
例如,您的CheckBox
:
CheckBox myCheck = (CheckBox) findViewById(R.id.my_checkbox);
myCheck.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
SharedPreferences prefs = <your prefs>;
Editor editor = prefs.edit();
// Store value of "isChecked" into "editor"
editor.commit();
}
});
您必须对所有其他首选项设置进行类似的更改。