2012-11-19 34 views

回答

4

在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及以下。 Here is the complete sample project从中拉代码。