0

たとえば、共有設定が保存されません。たとえば、電話のバッテリーが突然切れた場合にチェックボックスがオンになります。この問題を回避する方法はありますか?

4

1 に答える 1

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();
    }
});

他のすべてのプリファレンス設定についても同様の変更を行う必要があります。

于 2012-08-07T05:39:22.440 に答える