我有一个PreferenceScreen
我有一个CheckBox Preference
和一个简单的Preference
,它调用了一个自定义对话框。在此自定义对话框中,用户可以选择一个数字。在此对话框中按“确定”,我想通过编辑sharedPreferences
来保存号码。保存后,应自动调用OnSharedPreferenceChanged
方法。
CheckBox首选项工作正常。
答案 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());
}
}