20

我的 XML 文件ListPreference

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

如何获取选定的文本和选定的值?

4

5 回答 5

42

在您的 PreferenceActivity 中执行以下操作:

ListPreference listPreference = (ListPreference) findPreference("lpBirim");
CharSequence currText = listPreference.getEntry();
String currValue = listPreference.getValue();
于 2011-10-16T22:09:05.817 回答
19

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

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

看看教程

于 2011-05-27T07:22:50.843 回答
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;
}
  • index 包含被点击项目的索引
  • textValue 是选定的值
  • entries[index] 是选定的文本
于 2013-08-15T08:44:32.977 回答
3
SharedPreferences Preference = PreferenceManager.getDefaultSharedPreferences(this); 
 Preference.getString("your list preference key","-1")
于 2018-02-01T06:28:37.090 回答
0

您可以使用它findPreference()来获得ListPreference具有您需要的所有方法的方法。要让它工作,您需要先使用或扩展PreferenceFragment

于 2016-10-27T09:00:30.323 回答