2011年7月1日金曜日

DialogPreference で summary を設定

DialogPreference を継承したクラスで summary を起動時にセットするときに、そのコンストラクタで getPersistedValue しても設定が読めない。ちょっと探してみた限りは明確な答えが見つからなかったけど、onAttachedToActivity() で設定を読むようにしたらちゃんと読めた。

 @Override
 protected void onAttachedToActivity() {
  AppInfo info = getSetting(); // この中で getPersistedString() してる
  if (info == null) {
   setSummary(mContext.getString(R.string.no_pref));
  } else {
   setSummary(info.mLabel);
  }
 }

その他ハマってしまったのは、onDialogClosed で superクラス呼ばないと設定が保存されないこと。

0 件のコメント:

コメントを投稿