this
के बजाय अक्सर वर्तमान संदर्भ के संदर्भ के लिए getBaseContext (उपयोग करना चाहिए। लेकिन, कुछ मामले में, हम क्यों getBaseContext()
बजाय this
उपयोग करना चाहिए। (इसका मतलब है कि this
का उपयोग त्रुटि देखें)।एंड्रॉयड: क्यों) इस
Spinner spinner = (Spinner) findViewById(R.id.spinner);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?>arg0, View arg1, int arg2, long arg3){
Toast.makeText(getBaseContext(),"SELECTED", Toast.LENGTH_SHORT).show(); //this line
}
उपरोक्त कोड में जब मैं getBaseContext()
this
करने के लिए बदल त्रुटि प्राप्त करेंगे,:
यहाँ मेरी उदाहरण है।
कौन मेरे लिए व्याख्या कर सकते हैं, कृपया।
'getBaseContext() 'या' getAplicationContext() 'का उपयोग न करें जब तक कि आप ** बिल्कुल और विशेष रूप से क्यों नहीं जानते ** आप इसका उपयोग क्यों कर रहे हैं। जावा के नवागंतुकों को एंड्रॉइड प्रोग्रामिंग में आने से पहले जावा सीखने में समय बिताना चाहिए, इसलिए आप 'OuterClass.this' जैसी चीजों के बारे में जानेंगे और जब आप उनकी आवश्यकता का सामना करेंगे तो उलझन में नहीं होंगे। – CommonsWare
@ कॉमन्सवेयर क्या आप मुझे इसके लिए एक अच्छा लिंक दे सकते हैं। (मुझे बस 'getBaseContext() 'और' getAplicationContext' – hqt
http://c2.com/cgi/wiki?InnerClass और http://docs.oracle.com/javase/tutorial/java/javaOO के बारे में पता है /nested.html और http://juixe.com/techknow/index.php/2009/04/07/java-nested-inner-class-this/ और http://stackoverflow.com/questions/56974/keyword- बाहरी-कक्षा-से-अज्ञात-आंतरिक-वर्ग – CommonsWare