ユーザーがポジティブボタンをクリックするだけでアクションをトリガーする設定でダイアログ設定を作成しようとしています。(データベースをクリアしますか?いいえ|はい)
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);
}