我試圖強制PreferenceActivity
刷新。有誰知道如何做到這一點?使用PreferenceActivity時首選項的清爽視圖
我有一個ResetDefaultsPreference
類的子類Preference
和,點擊後,應該重新設置爲默認所有的喜好,它的鍵啓動具有一定的前綴。它可以工作,但是當我點擊重置首選項時,該屏幕中的所有首選項都不會更新,直到我退出屏幕並返回。(適用於某些自定義顏色首選項,但即使這樣也不適用於某些ListPreference
s - 對於那些我不得不離開並重新輸入PreferenceActivity
本身的更新值來顯示。)
我試圖通過獲取根視圖和invalidate()
來解決這個問題,但似乎沒有工作。這是刷新顯示的行。這是Preference
子類的一部分,它保留Context
它在mContext
中創建。
((Activity)mContext).findViewById(android.R.id.content).invalidate();
在首選項值被更改並提交後會發生這種情況。 (值改變,但顯示不。)有誰知道我可以如何強制PreferenceActivity刷新自己?
該類的完整源代碼,對於那些感興趣的,可以在這裏找到(http://pastebin.com/ZHmSThUH)。 – tmandry 2011-06-19 01:16:49
我發現了一個部分工作的黑客:在重置默認值後,調用'setSummary(getSummary()+「));'或者'Preference'中的某個特性來更改首選項的摘要,這會導致視圖刷新。這適用於自定義顏色首選項,但不__更新「ListPreference」對話框中的值。 – tmandry 2011-06-21 05:13:06
您是否嘗試過'Preference'的'notifyChanged()'和'notifyHierarchyChanged()'? – Stan 2013-11-07 18:11:12