android selected listpreference

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")