के बीच अंतर मैं कई टुकड़ों के साथ एक टैब सूची बना रहा हूं। मैंने देखा है कि, मुख्य गतिविधि में, मैंने लेआउट xml प्राप्त करने के लिए setContentView
का उपयोग किया और संबंधित UI तत्व कॉन्फ़िगरेशन प्राप्त करने के लिए findViewById
का उपयोग किया।setContentView और LayoutInflater
setContentView(R.layout.fragment_tabs);
mTabHost = (TabHost)findViewById(android.R.id.tabhost);
mTabHost.setup();
mTabManager = new TabManager(this, mTabHost, android.R.id.tabcontent);
हालांकि, विभिन्न खंड वर्ग में, मुझे इसके बजाय inflater का उपयोग करना होगा।
View v = inflater.inflate(R.layout.webview, container, false);
WebView myBrowser=(WebView)v.findViewById(R.id.mybrowser);
और दोनों समारोह, एक वस्तु बनाने के लिए लेआउट एक्सएमएल प्राप्त करने के लिए उपयोग किया जाता है यही कारण है कि वहाँ एक अंतर है? onCreate
के दौरान पहला उपयोग है, और दूसरा onCreateView
के दौरान? मुझे किस स्थिति में उनमें से किसी एक को चुनना चाहिए?
उत्तर देने के लिए धन्यवाद, क्या xml फ़ाइल प्राप्त करना और खोजने के लिए इसके लिए कोई ऑब्जेक्ट बनाना आवश्यक है ViewById? चूंकि मुझे ऑफिकल डॉक में कुछ उदाहरण नहीं मिला है। जैसे एडिटटेक्स्ट एडिटटेक्स्ट = (एडिटटेक्स्ट) findViewById (R.id.email_address); – user782104
मुझे यकीन नहीं है कि मैं पूरी तरह से प्रश्न समझता हूं, इसलिए यदि मेरा उत्तर समझ में नहीं आता है, तो फिर से पूछने में संकोच न करें। क्रियाएँ और विचार दोनों में findViewById() नामक एक विधि है। गतिविधि संस्करण दिए गए आईडी के साथ इसके सामग्री दृश्य के अंदर एक दृश्य की खोज करेगा (इसलिए, आंतरिक रूप से, यह contentView.findViewById()) को कॉल करेगा। इसका अर्थ यह है कि सामग्री दृश्य को प्रयोग करने योग्य होने से पहले सेट करने की आवश्यकता है। "SetContentView" की तरह, खंडों में "findViewById" (जो समझ में आता है, क्योंकि कोई सामग्री दृश्य नहीं है) के लिए कोई विधि नहीं है। बस उसी व्यवहार के लिए getView()। FindViewById() का उपयोग करें। –
आपने उल्लेख नहीं किया कि कोई भी 'setContentView' के विकल्प के रूप में, गतिविधि में 'LayoutInflater.inflate' का उपयोग भी कर सकता है। –