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

时间:2011-05-27 07:07:49

标签: android selected listpreference

我的ListPreference

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

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

5 个答案:

答案 0 :(得分:39)

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

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

答案 1 :(得分:16)

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

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

查看tutorial

答案 2 :(得分: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]是Selected Text

答案 3 :(得分:1)

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

答案 4 :(得分:0)

您可以使用findPreference()获取具有所需方法的ListPreference。要使其正常工作,您需要先使用或扩展PreferenceFragment