我有一個帶有首選項屏幕的Android應用程序。該屏幕中唯一的首選項是具有四個選項的MultiSelectListPreference。我試圖實施onPreferenceChange
方法來在每次更改選項時更新首選項摘要。onPreferenceChange方法中的奇怪值
爲此,我將newValue
對象強制轉換爲字符串的HashSet,但是當我註銷HashSet的內容時,它們與用戶選擇的值不一致。
這是我的代碼:
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
if (preference instanceof MultiSelectListPreference) {
MultiSelectListPreference pref = (MultiSelectListPreference) preference;
HashSet<String> values = (HashSet<String>) newValue;
Log.e("SettingsActivity", values.toString());
}
return true;
}
而且這裏是日誌信息打印出來,當我選擇所有四個選項:
07-28 13:13:00.896 31196-31196/com.example.android.theguardiannews E/SettingsActivity:
[ film , environment, business , environment , politics, business]
編輯:這裏是所有的圖像可能的選項:
你可以顯示圖像首選項屏幕,基本上我打印了所有列表的可能性。 –
@BrunoFerreira我用你要求的圖像編輯我的問題。 –