設定画面の名称や説明を動的変更するには

設定画面の名称や説明を動的変更するには

Preferenceクラスの
setTitle()でタイトルの変更

setSummary()で説明の変更が可能

これは、レイアウトファイルではなくJavaで行う

まず、クラスへ必要なソースを追加する

extends PreferenceFragment implements OnSharedPreferenceChangeListener

を追加する

そして、onCreate()へ

addPreferenceFromResource(R.xml.pref);

でリソースファイルを読み込む

そして、PreferenceManagerクラスの
findPreference()
を使うことで
Preferenceインスタンスを取得

そして、取り出したインスタンスへ対して
setTitle()
setSummary()
を実行して書き換える

@Override
public void onActivityCreated(Bundle savedInstanceState){
super.onActivityCreated(savedInstanceState);

Preference preference = getPreferenceManager().findPreference(“setting_key”);

if(preference != null){
preference.setTitle(“タイトル変更: setTitle()で変更”);
preference.setSummary(“説明変更: setSummary()で変更”);
}
}
[/xml]

とりあえず、簡単な変更だけと
WiFiの有効化したらチェック項目の文字を変えるなど
用途はいろいろある

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です