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









