如下所述: Get Key, not value, of the ListPreference selection - Possible? 和许多其他地方一样,从PreferenceActivity访问ListPreferences标签非常容易。
我需要做的是阅读与主要活动中选择的当前对应的标签。 但我无法找到办法。
例如,在我的主要活动中我有
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this);
我想使用类似的东西:
ListPreference listPreference = (ListPreference) settings.findPreference("list_of_countries");
然后处理它以获取当前值和标签。
我试图以另一种方式检索摘要(我的示例中的国家/地区的名称)值,我需要告诉客户他选择了什么。我无法给他代码!
private static Preference.OnPreferenceChangeListener sBindPreferenceSummaryToValueListener = new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object value) {
String stringValue = value.toString();
String stringSummary = preference.getSummary().toString();
String stringKey = preference.getKey().toString();
if (stringKey.equals("list_of_countries")){
MyActivity.countryName = stringSummary;
}
无所事事...... OnPreferenceChangeListener被调用....在首选项更改之前,即单击一个项目时,我成功检索的只是过去的摘要。 我找不到办法。