java.lang.Object ↳ android.preference.Preference ↳ android.preference.DialogPreference ↳ android.preference.ListPreferenceを使います
List の Dialog を表示させる Preference の一つで
String型の値を SharedPreferences に保存します
というわけで,ListPreference をいじってみた
サンプルコード
public class EditTextPreferenceSample extends PreferenceActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // addPreferencesFromResource(R.xml.edittext_preference); PreferenceScreen ps = getPreferenceManager().createPreferenceScreen(this); PreferenceCategory pc = new PreferenceCategory(this); pc.setTitle(R.string.title_category); ps.addPreference(pc); EditTextPreference editTextPreference = new EditTextPreference(this); editTextPreference.setKey(getString(R.string.key_edittext_preference)); editTextPreference.setTitle(R.string.title_edittext_preference); editTextPreference.setSummary(R.string.summary_edittext_preference); editTextPreference.setDialogTitle(R.string.dialog_title_edittext_preference); editTextPreference.setDialogMessage(R.string.dialog_message_edittext_preference); pc.addPreference(editTextPreference); setPreferenceScreen(ps); } }
プログラムを実行すると...
こんな感じ!
XML で一括で作成することもできます
サンプルコード
public class ListPreferenceSample extends PreferenceActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // XML で Preference を設定 addPreferencesFromResource(R.xml.list_preference); // ListPreference の取得 ListPreference listPreferrence = (ListPreference) findPreference( getString(R.string.key_list_preference)); } }
List_preference.xml
<?xml version="1.0" encoding="utf-8"?> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <PreferenceCategory android:title="@string/title_category"> <ListPreference android:key="@string/key_list_preference" android:title="@string/title_list_preference" android:summaryOn="@string/summary_list_preference" android:entries="@array/entries_list_preference" android:entryValues="@array/entryvalues_list_preference" android:dialogTitle="@string/dialog_title_list_preference" /> </PreferenceCategory> </PreferenceScreen>
参考サイト
http://developer.android.com/intl/ja/reference/android/preference/ListPreference.html