web-dev-qa-db-ja.com

選択したテキストと値を取得する方法Android ListPreference

ListPreferenceのXMLファイル

<ListPreference Android:key="lpBirim" Android:title="Birim"
        Android:summary="" Android:defaultValue="0"  Android:persistent="false"/>

選択したテキストと選択した値を取得するにはどうすればよいですか?

19
david

preferenceActivityで次のようなことを行います。

ListPreference listPreference = (ListPreference) findPreference("lpBirim");
CharSequence currText = listPreference.getEntry();
String currValue = listPreference.getValue();
39
qavid

このスニペットを使用して、値を取得できます。

 SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this); 
 sp.getString("lpBirim","-1")

チュートリアル をご覧ください

16

次に例を示します。

@Override
public boolean onPreferenceChange(Preference preference, Object value)
{
    String textValue = value.toString();

    ListPreference listPreference = (ListPreference) preference;
    int index = listPreference.findIndexOfValue(textValue);

    CharSequence[] entries = listPreference.getEntries();

    if(index >= 0)
        Toast.makeText(preference.getContext(), entries[index], Toast.LENGTH_LONG);

    return true;
}
  • indexには、クリックされたアイテムのインデックスが含まれます
  • textValueは選択された値です
  • entries [index]は選択されたテキストです
10
Moberg
SharedPreferences Preference = PreferenceManager.getDefaultSharedPreferences(this); 
 Preference.getString("your list preference key","-1")
2
Makvin

findPreference()を使用して、必要なすべてのメソッドを持つListPreferenceを取得できます。それを機能させるには、最初にPreferenceFragmentを使用または拡張する必要があります。

0
CeDeROM