2011-05-27 66 views

回答

15

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

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

对你PreferenceActivity的tutorial

+0

我收到选定的值从这个函数** newValue **字段但如何获取选定的文本? public boolean onPreferenceChange(首选项首选项,对象** newValue **) – david 2011-05-27 07:27:16

36

看看这样做:

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

下面是一个例子:

@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被选定值
  • 项[index]的指数选择的文本
0

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

0
SharedPreferences Preference = PreferenceManager.getDefaultSharedPreferences(this); 
Preference.getString("your list preference key","-1") 
相关问题