如果在应用程序中取出电池或手机未正常关机,则不会保存SharedPreferences

时间:2012-08-07 05:34:47

标签: android sharedpreferences preferences

我的共享偏好不会被保存,例如,如果我的手机电池突然突然被取出,则会检查一个复选框。知道怎么解决这个问题吗?

1 个答案:

答案 0 :(得分:3)

拉动电池或意外关机时不会调用任何事件。解决这个问题的唯一方法是在每次更改首选项时保存首选项。

例如,您的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();
    }
});

您必须对所有其他偏好设置进行类似的更改。