2011年7月25日月曜日

android:summaryを動的に書き換える

android:summaryを動的に書き換える

設定画面の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 件のコメント:

コメントを投稿