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
0 件のコメント:
コメントを投稿