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

dav*_*vid 18 android selected listpreference

我的XML文件 ListPreference

<ListPreference android:key="lpBirim" android:title="Birim"
        android:summary="" android:defaultValue="0"  android:persistent="false"/>
Run Code Online (Sandbox Code Playgroud)

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

qav*_*vid 40

在PreferenceActivity中执行以下操作:

ListPreference listPreference = (ListPreference) findPreference("lpBirim");
CharSequence currText = listPreference.getEntry();
String currValue = listPreference.getValue();
Run Code Online (Sandbox Code Playgroud)


Sun*_*hoo 16

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

 SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this); 
 sp.getString("lpBirim","-1")
Run Code Online (Sandbox Code Playgroud)

看看教程

  • 我从这个函数 **newValue** 字段中获得选定的值但是如何获得选定的文本?公共布尔 onPreferenceChange(偏好偏好,对象 **newValue**) (2认同)

Mob*_*erg 10

这是一个例子:

@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;
}
Run Code Online (Sandbox Code Playgroud)
  • index包含所单击项的索引
  • textValue是Selected Value
  • entries [index]是Selected Text