5
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) 

कहते हैं कि अगर हम कहते हैंक्या फ्रैगमेंट के getContext के बीच कोई अंतर है और फ्रेगमेंट के क्रिएटिव्यू पर पास किए गए कंटेनर के कॉन्टैक्ट को प्राप्त करें?

fragment.getContext() और container.getContext हम एक ही परिणाम मिल जाएगा, मेजबान गतिविधि?

view.getContext() भी Activitycontext देता है या यह किसी अन्य प्रकार के context लौटा सकता है?

उत्तर

2

एंड्रॉइड में गतिविधि वर्ग संदर्भ वर्ग को बढ़ाता है। तो मूल रूप से एक गतिविधि एक संदर्भ है। लेकिन एक संदर्भ एक गतिविधि नहीं हो सकता है।

fragment.getContext() उस कंटेनर के संदर्भ को वापस कर देगा जो उससे जुड़ा हुआ है। तो हाँ container.getContext() के परिणाम fragment.getContext() यानी, मेजबान गतिविधि के समान परिणाम होंगे।

जब व्यू ग्रुप का उदाहरण बनाया गया है, तो उस गतिविधि के inflater पास संदर्भ। मतलब container.getContext() उसी संदर्भ को वापस कर देगा।

fragment.getActivity() एक ऐसी गतिविधि को वापस कर देगा जो इसके साथ जुड़ा हुआ है, जो एक संदर्भ है। जब गतिविधि से विभाजन अलग हो जाता है, तो यह शून्य हो जाता है। और जब इसे संलग्न किया जाता है तो getContext()

और आपके अंतिम प्रश्न के बारे में, view.getContext() संदर्भ देता है जिसमें यह चल रहा है। दृश्य संदर्भ वर्ग का विस्तार नहीं करता है, जब वे बनाए जाते हैं, तो उन्हें संदर्भ वस्तु को पैरामीटर के रूप में आवश्यकता होती है। तो जब आप एक सक्रियता के अंदर एक दृश्य बना रहे हैं, तो आपको संदर्भ पास करने की आवश्यकता है। और जब आप view.getContext() पर कॉल करते हैं, तो आपको उसी संदर्भ को वापस प्राप्त किया जाएगा जब आपने इसे बनाया था।

+0

ताकि हम अपनी रचना के दौरान देखने के लिए 'एप्लिकेशन संदर्भ' पास कर सकें? – q126y

+0

आप अपने ऐप में दृश्य बनाते समय 'getContext() 'या' getActivity() प्राप्त करें एप्लिकेशन प्राप्त करें() 'पास कर सकते हैं। लेकिन आमतौर पर एक्सएमएल में विचार बनाए जाते हैं और inflater बाकी करता है। –

+0

"तो हाँ कंटेनर .getContext() के पास fragment.getContext() यानी मेजबान गतिविधि के समान परिणाम होंगे।" लेकिन यदि 'कंटेनर 'को' एप्लिकेशन संदर्भ 'का उपयोग करके फुलाया गया था, तो हमारे पास' fragment.getcontext() 'और' कंटेनर.getकॉन्टेक्स्ट' – q126y

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