如何为android 2.X使用addPreferencesFromResource?
遵循几个howto,但我不明白,
如何使用addPreferencesFromResource(R.xml.preferences)
因为已被弃用。
最好的方法是使用fragment
但片段只能在3.0以后才可用,我需要为android 2.x版本做
我将遵循哪种方式?
在Android中,“已弃用”意味着“我们有另一个我们认为应该考虑的解决方案”。 特别是对于这样的情况,除了在Android 2.x上使用addPreferencesFromResource()
,没有其他选择,因为onBuildHeaders()
(API Level 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等级11+和addPreferencesFromResource()
的API等级10及以下。 以下是从中拉取代码的完整示例项目。