2012-11-19 9 views
7

कई लोगों का पालन किया लेकिन मैं समझ नहीं पा रहा हूं,
addPreferencesFromResource(R.xml.preferences) का उपयोग कैसे करें क्योंकि बहिष्कृत किया गया है।एंड्रॉइड 2.X के लिए addPreferencesFromResource का उपयोग कैसे करें?

सबसे अच्छा तरीका है fragment लेकिन टुकड़े का उपयोग कर रहे हैं उपलब्ध केवल बाद में 3.0, मैं एंड्रॉयड संस्करण 2.x

किस तरह मैं पालन करेंगे के लिए क्या करने की जरूरत है?

+0

आपने इसे @PolHallen कैसे हल किया? – gumuruh

उत्तर

4

एंड्रॉइड में, "बहिष्कृत" का अर्थ है "हमारे पास एक और समाधान है जिसे हम सोचते हैं कि आपको विचार करना चाहिए"। विशेष रूप से, इस तरह की स्थितियों के लिए, आपके पास एंड्रॉइड 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); 
    } 
} 

यहाँ, हम एपीआई स्तर 10 और नीचे पर एपीआई स्तर 11+ और addPreferencesFromResource() के लिए onBuildHeaders() का उपयोग करें। Here is the complete sample project जिससे से यह कोड खींचा गया था।

संबंधित मुद्दे