2012-11-19 32 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從中拉代碼。