5

इस नए-फंसे हुए एंड्रॉइड स्टूडियो 0.8.6 बीटा में बस एक बहुत ही सरल सहायता गतिविधि (एक संसाधन फ़ाइल से HTML टेक्स्ट का एक ब्लॉक प्रदर्शित करता है) जोड़ना और मुझे निम्न चेतावनी मिल रही है, कोई कारण नहीं/औचित्य की पेशकश के साथ:एंड्रॉइड स्टूडियो मुझे getActionBar() प्राप्त करने के बजाय getSupportActionBar() का उपयोग करने के लिए क्यों कह रहा है?

Should use getSupportActionBar instead of ActionBar name

किसी को भी पता है क्यों?

कोई भी दस्तावेज है, क्योंकि एंड्रॉइड स्टूडियो कोई भी प्रदान नहीं करता है और एंड्रॉइड साइट पर कुछ भी विशिष्ट नहीं पा रहा है।

यदि चेतावनी के लिए कोई औचित्य है, तो क्या कोई मुझे एक पूर्ण उदाहरण पर इंगित कर सकता है, क्योंकि कक्षा लगभग पूरी तरह जेनेरिक/उदाहरण के आसपास के उदाहरणों में से लगभग है।

public class HelpActivity extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_help); 

    ActionBar actionBar = getActionBar(); 
    actionBar.setTitle(getString(R.string.action_help)); 

    TextView helpText = (TextView) findViewById(R.id.help_text); 
    helpText.setText(Html.fromHtml(getString(R.string.help_markup))); 
    } 
} 

उत्तर

11

getSupportActionBar()getActionBar() के रूप में ही है, लेकिन Android समर्थन पुस्तकालय से आता है।

एंड्रॉइड स्टूडियो आपको getSupportActionBar() पर स्विच करने की सिफारिश कर रहा है क्योंकि, यदि आपने नहीं किया है, तो आपका एप्लिकेशन एंड्रॉइड के पिछले संस्करणों के साथ पिछड़ा नहीं होगा।

यदि आप पिछड़े-संगत होने का इरादा रखते हैं तो एंड्रॉइड समर्थन लाइब्रेरी का उपयोग करना एक अच्छा अभ्यास है - अन्यथा आपका एप्लिकेशन पुराने प्लेटफ़ॉर्म पर क्रैश हो सकता है। यदि आप पीछे-संगत होने का इरादा नहीं रखते हैं, तो आप इस चेतावनी को अनदेखा कर सकते हैं।

getSupportActionBar():

अधिक जानकारी के लिए docs for ActionBarActivity पर एक नज़र, जिसमें यह आपको बताता है कि ले getActionBar के पुस्तकालय संस्करण का समर्थन()।

+0

धन्यवाद, क्या समर्थन वर्ग का उपयोग करने के बारे में कुछ भी आधिकारिक (नए उपकरण में अस्पष्ट चेतावनी के अलावा) है? मैं पूछता हूं कि droid साइट पर प्रलेखन और उदाहरण अभी भी मूल का उपयोग करते हैं। – arober11

+0

@ arober11 शुरू करने के लिए एक अच्छी जगह है, ईमानदारी से, [समर्थन पुस्तकालय पृष्ठ] (http://developer.android.com/tools/support-library/index.html) dev.android से - इनमें से अधिकांश ईमानदारी से केवल चिंताओं कैसे लेआउट व्यवस्थित और संसाधित होते हैं। अधिकांश समय, एंड्रॉइड स्टूडियो आपको चेतावनी देगा, लेकिन यदि आप टुकड़े और लेआउट के साथ कुछ बड़ा कर रहे हैं, तो यह जांचना हमेशा अच्छा विचार है। – Zyerah

+3

एएस 0.8.9 (इस समय वर्तमान में) में एक बग है, भले ही आपका मैनिफेस्ट एपीआई 15+ निर्दिष्ट करता है, यह चाहता है कि आप getSupportActionBar का उपयोग करें, जिसकी आवश्यकता नहीं है। –

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

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