如何编辑SharedPreferences以便调用OnSharedPreferenceChanged

时间:2012-02-13 16:32:58

标签: android sharedpreferences

我有一个PreferenceScreen我有一个CheckBox Preference和一个简单的Preference,它调用了一个自定义对话框。在此自定义对话框中,用户可以选择一个数字。在此对话框中按“确定”,我想通过编辑sharedPreferences来保存号码。保存后,应自动调用OnSharedPreferenceChanged方法。

CheckBox首选项工作正常。

1 个答案:

答案 0 :(得分:2)

您的自定义对话框应该扩展DialogPreference。如果已经修改了首选项,请调用persistXXX()(XXX是该类型的名称),如下例所示:

@Override
public void onDialogClosed(final boolean positiveResult) {
    if( positiveResult && this.isPersistent() ) {
        final StringBuilder b = new StringBuilder();
        b.append(this.hour).append(':');
        if( this.minute < 10 )
            b.append('0');
        b.append(this.minute);
        this.persistString(b.toString());
    }
}