如何获取选定的文本和值Android ListPreference

如何获取选定的文本和值Android ListPreference,android,selected,listpreference,Android,Selected,Listpreference,myListPreference的XML文件 <ListPreference android:key="lpBirim" android:title="Birim" android:summary="" android:defaultValue="0" android:persistent="false"/> 如何获取所选文本和所选值?您可以使用此代码段获取值: SharedPreferences sp = PreferenceManager.getDefa

my
ListPreference的XML文件

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


如何获取所选文本和所选值?

您可以使用此代码段获取值:

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

请查看您的首选项活动中的

,执行以下操作:

ListPreference listPreference = (ListPreference) findPreference("lpBirim");
CharSequence currText = listPreference.getEntry();
String currValue = listPreference.getValue();
以下是一个例子:

@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;
}
  • 索引包含已单击项的索引
  • textValue是选定的值
  • 条目[索引]是选定的文本

您可以使用
findPreference()
获得一个
列表首选项
,该首选项包含您需要的所有方法。要使其正常工作,您需要首先使用或扩展
PreferenceFragment

我从这个函数newValue字段获取所选值,但如何获取所选文本?公共布尔onPreferenceChange(首选项首选项,对象newValue)
SharedPreferences Preference = PreferenceManager.getDefaultSharedPreferences(this); 
 Preference.getString("your list preference key","-1")