2013-02-22 13 views
6

मेरी नौसिखिया प्रश्न के लिए खेद है, मुझे सिर्फ Google और stackoverflow से जवाब नहीं मिल रहा है .. मैं बस एंड्रॉइड के लिए सीखना शुरू करता हूं, इच्छा एंड्रॉइड ज्ञान के लिए एक अच्छा आधार बना सकती है। मैं सोच रहा हूं कि अगर मुझे खंड में टोस्ट.मैकेटेक्स्ट बनाते हैं तो मुझे निम्नलिखित में क्या उपयोग करना चाहिए। getActivity() या getAcitivity()। getAplicationContext()?टुकड़े टुकड़े में टोस्ट, getActivity() या getAcitivity() प्राप्त करें। GetAplicationContext()?

मैं दोनों की कोशिश किया था, यह अच्छी तरह से काम करता है ..

btn1.setOnClickListener(new View.OnClickListener() {    
@Override 
public void onClick(View v) { 
Toast.makeText(getActivity(), "hello",Toast.LENGTH_LONG).show(); 
Toast.makeText(getActivity().getApplicationContext(),"Hello",Toast.LENGTH_LONG).show(); 
} 
}); 
+0

मेरा मानना ​​है कि यूआई बातों के लिए आप आमतौर पर गतिविधि प्रसंग का प्रयोग करेंगे:

रीटो मायर द्वारा इस स्पष्टीकरण देखें। –

उत्तर

10

यूजर इंटरफेस से संबंधित कॉल गतिविधि संदर्भ का उपयोग करें। https://stackoverflow.com/a/987503/534471

+0

तो getAcitivity() प्राप्त करने के बजाय getActivity() का उपयोग करें। GetApplicationContext() मेमोरी लीक से बचने के लिए? क्या मैं सही हू? कृपया मुझे सही करें ~ – NaiveBz

+2

सं। अंगूठे के नियम के रूप में जब भी आप किसी गतिविधि के दायरे में हों तो गतिविधि संदर्भ का उपयोग करें। जब आप गतिविधि का दायरा छोड़ते हैं तो एप्लिकेशन संदर्भ का उपयोग करें। मुझे पता है कि यह उत्तर भ्रमित हो सकता है लेकिन प्रश्न का स्पष्ट उत्तर नहीं है और परिस्थितियों पर बहुत निर्भर करता है। कुछ मामलों में आपको गतिविधि संदर्भ का उपयोग करना होगा या आप अपवाद प्राप्त करेंगे, दूसरों में आपको गतिविधि संदर्भ को लीक करने से बचने के लिए एप्लिकेशन संदर्भ का उपयोग करना चाहिए। मुझे लगता है कि आपका कोड एक गतिविधि के भीतर है? यदि हां तो गतिविधि संदर्भ का उपयोग करें। यदि नहीं तो कृपया कुछ और कोड पोस्ट करें। –

+0

आपके उपवास के लिए धन्यवाद। एर्म, केवल गतिविधि के दायरे में ही विचार करें या गतिविधि का दायरा छोड़ दें? टोस्ट को क्रिएटिव क्लास ऑनक्रेट व्यू फ़ंक्शन के अंदर बनाया गया है। क्या गतिविधि की गुंजाइश से बाहर है? – NaiveBz

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