Cómo obtener texto seleccionado y valor Android ListPreference
selected (5)
Aquí hay un ejemplo:
@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;
}
- índice contiene el índice del elemento pulsado
- textValue es el valor seleccionado
- entradas [índice] es el texto seleccionado
El archivo XML de mi ListPreference
<ListPreference android:key="lpBirim" android:title="Birim"
android:summary="" android:defaultValue="0" android:persistent="false"/>
¿Cómo obtener el texto seleccionado y el valor seleccionado?
Puede usar findPreference()
para obtener un ListPreference
que tiene todos los métodos que necesita. Para que funcione, primero debes usar o extender PreferenceFragment
.
Puedes usar este fragmento de código para obtener el valor:
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);
sp.getString("lpBirim","-1")
Mira el tutorial
en su actividad de preferencia haga algo como:
ListPreference listPreference = (ListPreference) findPreference("lpBirim");
CharSequence currText = listPreference.getEntry();
String currValue = listPreference.getValue();
SharedPreferences Preference = PreferenceManager.getDefaultSharedPreferences(this);
Preference.getString("your list preference key","-1")