設定画面のListPreferenceクラスには、android:summaryがあります。
summaryですから、ここに要約を書くのが実直な心掛けです。
しかし、世間様に出回っているアプリを観察すると、summary欄には、利用者がListPreferenceで設定した後のentry文字列が表示されているのです。この方がすばらしいと思うのは、果たして私だけだろうか。
要約なんて、セッセ、セッセ書いてる場合じゃないよ。
私なりのやり方を紹介します。XMLファイルは、設定画面と、それ以外の画面を混在させる方法で記載したものを使います。
Javaファイル
始めの部分:
public class setPreferenceAct extends PreferenceActivity
implements
OnSharedPreferenceChangeListener
{
メソッドの部分:
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
if(key.equals("JPSource")==true){
Preference p = findPreference ("JPSource");
ListPreference l;
CharSequence c;
l = (ListPreference)p;
c = l.getEntry();
l.setSummary(c);
}
}
続編をandroid:summaryを動的に書き換える その2に書いておきました。
0 件のコメント:
コメントを投稿