遵循了几个howto,但我不明白,
如何使用 addPreferencesFromResource(R.xml.preferences)
,因为已弃用。
最好的方法是使用,fragment
但片段仅在 3.0 以后可用,我需要为 android 版本 2.x 做
我会走哪条路?
遵循了几个howto,但我不明白,
如何使用 addPreferencesFromResource(R.xml.preferences)
,因为已弃用。
最好的方法是使用,fragment
但片段仅在 3.0 以后可用,我需要为 android 版本 2.x 做
我会走哪条路?
在 Android 中,“已弃用”的意思是“我们认为您应该考虑另一种解决方案”。特别是对于这种情况,您别无选择,只能addPreferencesFromResource()
在 Android 2.x 上使用,因为onBuildHeaders()
(API 级别 11+ 中使用的方法)不存在。
您可以创建支持两者的代码:
public class EditPreferences extends SherlockPreferenceActivity {
@SuppressWarnings("deprecation")
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (Build.VERSION.SDK_INT<Build.VERSION_CODES.HONEYCOMB) {
addPreferencesFromResource(R.xml.preferences);
addPreferencesFromResource(R.xml.preferences2);
}
}
@Override
public void onBuildHeaders(List<Header> target) {
loadHeadersFromResource(R.xml.preference_headers, target);
}
}
在这里,我们onBuildHeaders()
用于 API Level 11+ 和addPreferencesFromResource()
API Level 10 及以下。这是从中提取此代码的完整示例项目。