我已經實現了onPreferenceClick(偏好)回調接口如何在點擊時更改首選項對話框的內容?
public boolean onPreferenceClick(Preference arg0) {
if (arg0 instanceof ListPreference){
addListPreferenceEntriesFromStore((ListPreference) arg0, getSharedPreferences("cfn_preferences", MODE_PRIVATE));
}
else if (arg0 instanceof EditTextPreference){
((EditTextPreference)arg0).setTitle("Hallabalooo");
((EditTextPreference)arg0).setDialogTitle("Tjillevipp");
}
return true;
}
當我點擊了第一次冠軍,在PreferenceScreen,符合市場預期,但該對話框的標題是不改變的EditTextPreference。第二次點擊EditTextPreference時,對話框標題也會更新。
我遇到了與ListPreference相同的行爲。 addListPreferenceEntriesFromStore()方法更新ListPreference的內容,但該更改在第一次顯示ListPreference時不可見。
似乎在onPreferenceClick()回調的上下文期間對首選項的對話框部分所做的更改未顯示。
我在這裏做錯了什麼?還是有解決方法?
感謝任何幫助
/馬蒂亞斯