2012-11-06 35 views
1

我最近下載了最新的更新Android SDK,我意識到,addPreferencesFromResource(int resourceID)findPreference(String preference),並在PreferenceActivitygetPreferenceScreen()一直主張貶值的PreferenceFragment及其實施addPreferencesFromResource(int resourceID)的Android PreferenceFragment前3.0

這是好的,並且我能夠重新編寫所有我的首選項屏幕,以便能夠爲4.x設備使用新標準PreferenceFragment。但問題在於,PreferenceFragment屏幕無法在Android 2.3或之前顯示。當首選項屏幕打開時,它實際上顯示一個空白屏幕。因此,現在我檢查設備正在使用哪個SDK,如果設備是3.0+,則顯示PreferenceFragment,或者如果3.0之前顯示舊的折舊方式。

有沒有更好的方式來做到這一點?如果在2.2和2.3中有一種方法使PreferenceFragment代碼正常工作,我不想使用折舊代碼。是否有一種新的標準方式在3.0版以前的設備中使用折舊代碼? (我的應用程序是爲2.2以上設計的,我希望繼續支持2.2以適應更大的用戶羣)

如果有人能指向正確的方向,我可以從那裏做腿部工作。

回答

2

不幸的是,compatibility library(專爲API 4+)不支持PreferenceFragment - 所以你有什麼可能是最好的解決辦法,直到你舒服把你的目標API高達11

+0

我想這作品現在。看起來他們每隔幾個月就會更新一次兼容庫,所以我想我會留意一下,希望他們能夠很快添加一些內容。感謝您的迴應! :-) – Randy