[英]How to use preferencesResId instead addPreferencesFromResource
[英]how to use addPreferencesFromResource for android 2.X?
跟着幾個howto,但我無法理解,
如何使用addPreferencesFromResource(R.xml.preferences)
因為不推薦使用。
最好的方法是使用fragment
但片段只在3.0以后可用,我需要為Android版本2.x
我會遵循哪種方式?
在Android中,“棄用”意味着“我們有另一種我們認為您應該考慮的解決方案”。 特別是,對於這種情況,您別無選擇, addPreferencesFromResource()
在Android 2.x上使用addPreferencesFromResource()
,因為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);
}
}
在這里,我們在API Level 10及以下版本的API Level 11+和addPreferencesFromResource()
上使用onBuildHeaders()
。 這是從中提取此代碼的完整示例項目 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.