我最近下载了Android SDK的最新更新,并且我意识到addPreferencesFromResource(int resourceID)
中的findPreference(String preference)
,getPreferenceScreen()
和PreferenceActivity
已被折旧,而有利于{{ 1}}及其PreferenceFragment
这很好,我能够重新编写我的所有偏好设置屏幕,以便能够为4.x设备使用addPreferencesFromResource(int resourceID)
的新标准。但问题是PreferenceFragment
屏幕在Android 2.3或之前没有显示。打开首选项屏幕时,它实际上显示一个空白屏幕。所以现在我检查设备正在使用哪个SDK,如果设备是3.0+则显示PreferenceFragment
,或者如果它是3.0之前显示旧的折旧方式。
有更好的方法吗?如果有办法让PreferenceFragment
代码在2.2和2.3中正常工作,我不想使用折旧代码。在不使用折旧代码的情况下,是否有一种新的标准方法可以在3.0之前的设备中执行此操作? (我的应用程序专为2.2+设计,我希望继续支持2.2以获得更大的用户群)
如果有人能指出我正确的方向,我可以从那里做腿部工作。
答案 0 :(得分:2)
不幸的是compatibility library(专为API 4+设计)不支持PreferenceFragment - 所以你可能是最好的解决方案,直到你把目标API提高到11为止。