एंड्रॉइड में गतिविधि वर्ग संदर्भ वर्ग को बढ़ाता है। तो मूल रूप से एक गतिविधि एक संदर्भ है। लेकिन एक संदर्भ एक गतिविधि नहीं हो सकता है।
fragment.getContext()
उस कंटेनर के संदर्भ को वापस कर देगा जो उससे जुड़ा हुआ है। तो हाँ container.getContext()
के परिणाम fragment.getContext()
यानी, मेजबान गतिविधि के समान परिणाम होंगे।
जब व्यू ग्रुप का उदाहरण बनाया गया है, तो उस गतिविधि के inflater पास संदर्भ। मतलब container.getContext()
उसी संदर्भ को वापस कर देगा।
fragment.getActivity()
एक ऐसी गतिविधि को वापस कर देगा जो इसके साथ जुड़ा हुआ है, जो एक संदर्भ है। जब गतिविधि से विभाजन अलग हो जाता है, तो यह शून्य हो जाता है। और जब इसे संलग्न किया जाता है तो getContext()
और आपके अंतिम प्रश्न के बारे में, view.getContext()
संदर्भ देता है जिसमें यह चल रहा है। दृश्य संदर्भ वर्ग का विस्तार नहीं करता है, जब वे बनाए जाते हैं, तो उन्हें संदर्भ वस्तु को पैरामीटर के रूप में आवश्यकता होती है। तो जब आप एक सक्रियता के अंदर एक दृश्य बना रहे हैं, तो आपको संदर्भ पास करने की आवश्यकता है। और जब आप view.getContext()
पर कॉल करते हैं, तो आपको उसी संदर्भ को वापस प्राप्त किया जाएगा जब आपने इसे बनाया था।
स्रोत
2016-07-23 18:52:29
ताकि हम अपनी रचना के दौरान देखने के लिए 'एप्लिकेशन संदर्भ' पास कर सकें? – q126y
आप अपने ऐप में दृश्य बनाते समय 'getContext() 'या' getActivity() प्राप्त करें एप्लिकेशन प्राप्त करें() 'पास कर सकते हैं। लेकिन आमतौर पर एक्सएमएल में विचार बनाए जाते हैं और inflater बाकी करता है। –
"तो हाँ कंटेनर .getContext() के पास fragment.getContext() यानी मेजबान गतिविधि के समान परिणाम होंगे।" लेकिन यदि 'कंटेनर 'को' एप्लिकेशन संदर्भ 'का उपयोग करके फुलाया गया था, तो हमारे पास' fragment.getcontext() 'और' कंटेनर.getकॉन्टेक्स्ट' – q126y