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?
dans votre PréférenceActivité, faites quelque chose comme:
ListPreference listPreference = (ListPreference) findPreference("lpBirim");
CharSequence currText = listPreference.getEntry();
String currValue = listPreference.getValue();
Vous pouvez utiliser cet extrait pour obtenir la valeur:
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);
sp.getString("lpBirim","-1")
Regardez sur le tutorial
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;
}
SharedPreferences Preference = PreferenceManager.getDefaultSharedPreferences(this);
Preference.getString("your list preference key","-1")
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
.