アプリ設定の読込みや保存に利用できるPreference。
Preferenceの編集にはPreferenceActivityを利用することができます。
今回はPreferenceActivityを使用する前提で、ユーザが選択したPreferenceを
判定する方法です。
1. Preference選択時のコールバックを拾う
PreferenceActivityの下記メソッドをオーバーライドする
android.preference.PreferenceActivity.onPreferenceTreeClick(PreferenceScreen, Preference)
2. 選択したPreferenceを判別する
ユーザが選択したPreferenceの判別には下記のメソッドが使用できる
android.preference.Preference.getKey()
getKey()で返ってくる値は、Preferenceのリソース(下記メソッドで指定するxml)
で指定するandroid:keyの値となる。
android.preference.PreferenceActivity.addPreferencesFromResource(int)
一連のソースは下記
・Preference(config.xml)
<?xml version="1.0" encoding="utf-8"?> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <PreferenceCategory <EditTextPreference android:key="follow_user" ... </PreferenceCategory> </PreferenceScreen>
・Preference設定画面
public class TwitterWidgetConfigure extends PreferenceActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.config); } @Override public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) { // key"follow_user"が返される android.util.Log.e("yuki", "yuki key=" + preference.getKey()); return true; }
以上です。