我正在尝试在首选项中设置对话框首选项,用户只需单击肯定按钮即可触发某些操作。(清除数据库?否 | 是)
public class MyDialogPreference extends DialogPreference {
public MyDialogPreference(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
}
@Override
protected void onDialogClosed(boolean positiveResult) {
super.onDialogClosed(positiveResult);
Log.d(MainActivity.TAG, "# onDialogClosed: " + positiveResult);
}
}
我实际上不想保留任何东西,只需触发 onSharedPreferenceChanged 侦听器,这样我就可以在活动中处理它。但我不知道如何触发它
//解决方案
@Override
protected void onDialogClosed(boolean positiveResult) {
super.onDialogClosed(positiveResult);
if(positiveResult) {
persistBoolean(!getPersistedBoolean(true));
}
Log.d(MainActivity.TAG, "# onDialogClosed: " + positiveResult);
}