2011-05-27 32 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") 
相關問題