web-dev-qa-db-fra.com

Comment obtenir le texte sélectionné et la valeur Android ListPreference

Le fichier XML de ma ListPreference 

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

Comment obtenir le texte sélectionné et la valeur sélectionnée?

18
david

dans votre PréférenceActivité, faites quelque chose comme:

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

Vous pouvez utiliser cet extrait pour obtenir la valeur:

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

Regardez sur le tutorial

16

Voici un exemple:

@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 contient l'index de l'élément cliqué
  • textValue est la valeur sélectionnée
  • entrées [index] est le texte sélectionné
10
Moberg
SharedPreferences Preference = PreferenceManager.getDefaultSharedPreferences(this); 
 Preference.getString("your list preference key","-1")
1
Makvin

Vous pouvez utiliser findPreference() pour obtenir une ListPreference qui contient toutes les méthodes dont vous avez besoin. Pour que cela fonctionne, vous devez d'abord utiliser ou étendre PreferenceFragment.

0
CeDeROM