2011-11-28 108 views
4

我正在構建一個Android應用程序,我有偏好存儲在從網上加載的類(我們與網站同步首選項),但使用PreferenceScreen,他們似乎會被忽略,當使用正確的蜜蜂。Android的喜好似乎忽略setDefaultValue

在XML我已經關閉的堅持和我要確保在Java中,像這樣p.setPersistent(false);

然後我設置的默認值p.setDefaultValue(boolean);

我只用EditTextPreferences和CheckBoxPreferences,而且這兩個不工作。我試過在編輯器中設置它,但它似乎不起作用。

感謝,

回答

5

最後成功地做到這一點。由於谷歌中非常聰明的人,由於喜好似乎只是在設計時就設定的(有點愚蠢),所以他們非常難以做到這一點。

我做了所謂的FlushPreferences其實現方式類似於setDefault方法的接口,我是用EditTextPreferenceCheckBoxPreference他們稱之爲onSetDefaultValue內部功能讓他們正確顯示所做的偏好類的子類。

代碼:https://gist.github.com/1430073

(P.S如果誰在谷歌看到了這一點,請修復它爲Android 4.1或東西)

+0

您運行的得到這個固定的Android 4.1,如果你自己做一個更好的機會。寫一個錯誤報告,然後修復。見http://source.android.com/source/life-of-a-patch.html – Robert

+0

謝謝,我會做到這一點! :D(但是我的目標是2.2+) –