2011-05-27 19 views

Respuesta

15

Puede utilizar este fragmento para obtener el valor:

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

tienen mirada en la tutorial

+0

Obtengo el valor seleccionado De esta función ** newValue ** Field pero ¿Cómo obtener el texto seleccionado? public boolean onPreferenceChange (Preferencia de preferencia, Object ** newValue **) – david

36

en su PreferenceActivity hacer algo como:

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

He aquí 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 que se ha hecho clic
  • TextValue es el valor
  • entradas [índice] seleccionado es el texto seleccionado
0

Puede utilizar findPreference() para obtener una ListPreference que tiene todos los métodos que necesita . Para que funcione, primero necesita usar o extender PreferenceFragment.

0
SharedPreferences Preference = PreferenceManager.getDefaultSharedPreferences(this); 
Preference.getString("your list preference key","-1") 
Cuestiones relacionadas