我的ListPreference
<ListPreference android:key="lpBirim" android:title="Birim"
android:summary="" android:defaultValue="0" android:persistent="false"/>
如何获取所选文本和所选值?
答案 0 :(得分:39)
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;
}
答案 3 :(得分:1)
SharedPreferences Preference = PreferenceManager.getDefaultSharedPreferences(this);
Preference.getString("your list preference key","-1")
答案 4 :(得分:0)
您可以使用findPreference()
获取具有所需方法的ListPreference
。要使其正常工作,您需要先使用或扩展PreferenceFragment
。