2014-08-30 23 views
9

इसलिए मैं आधिकारिक साइट पर एंड्रॉइड डेवलपर प्रशिक्षण के माध्यम से जा रहा हूं और एक ऐसा बिंदु है जहां वे चाहते हैं कि हम अंततः हमारे डेटाबेस को तुरंत चालू करें।getContext() मौजूद नहीं है

तो वे हमें बताओ इस कोड स्निपेट को उपयोग करने के लिए:

FeedReaderDbHelper mDbHelper = new FeedReaderDbHelper(getContext()); 

हालांकि, मैं getContext() विधि के लिए एक त्रुटि हो रही है। यह कहता है कि यह उस विधि के लिए प्रतीक नहीं ढूंढ सकता है।

इसलिए मैंने स्रोत की खोज की और व्यू क्लास में उस विधि को नहीं मिला। क्या यह एक बहिष्कृत विधि है? और यदि यह कोई विकल्प नहीं है, तो क्या कोई अन्य तरीका है कि हम एक दृष्टिकोण के संदर्भ को पकड़ सकते हैं?

धन्यवाद!

+1

एक टाइपो है: 'geContext()'। क्या यह पहले से ही आपकी समस्या है? –

+0

यह इस स्निपेट का उपयोग करने पर निर्भर करता है। क्या यह गतिविधि या टुकड़ा या सिर्फ सादा वर्ग के अंदर है? –

+0

@SME_Dev अगर वह पूरी समस्या थी तो मैं हँसता हूं। – Gumbo

उत्तर

5

कोड आप पारित की लाइन है:

FeedReaderDbHelper mDbHelper = new FeedReaderDbHelper(geContext()); 


अगर आप इन कोड लाइनों में से किसी के लिए स्थानापन्न यह काम करना चाहिए:

FeedReaderDbHelper mDbHelper = new FeedReaderDbHelper(getContext()); 

या

FeedReaderDbHelper mDbHelper = new FeedReaderDbHelper(getApplicationContext()); 

या

FeedReaderDbHelper mDbHelper = new FeedReaderDbHelper(this); 


प्रसंग का एंड्रॉयड डेवलपर दस्तावेज़:

What is 'Context' on Android?:

https://developer.android.com/reference/android/content/Context.html

तुम भी इस सवाल में देखने के लिए उपयोगी पाया हो सकता है, कि क्या संदर्भ के लिए है बताते हैं

0

अपने कोड में आप का इस्तेमाल किया है geContext() getContext() या getApplicationContext() करने के लिए या एक गतिविधि के अंदर से वस्तु बुला अगर इसे बदल बस पारित this

0

वर्ग देखें एक getContext विधि है।

आपके पास या तो टाइपो है, या आपका कोड दृश्य के उप-वर्ग की गैर-स्थैतिक विधि में स्थित नहीं है।

+0

के बजाय बस 'this' जोड़ें' क्या मैं अन्य कक्षाओं द्वारा विस्तारित कक्षा में getContext का उपयोग कर सकता हूं? ** मुझे त्रुटियां मिल रही हैं: ** http://snag.gy/hOPXk.jpg –

1

यह है कि मैंने इसे कैसे बनाया

  1. MainActivity

    FeedReaderContract अनुबंध = नए FeedReaderContract (this);

  2. मैं वर्ग के निर्माता संपादित FeedReaderContract

    mDbHelper = नए FeedReaderDbHelper (getContext());

  3. विधि getContext()

    सार्वजनिक प्रसंग getContext() { वापसी संदर्भ; }

+2

कृपया, आपके द्वारा प्रस्तावित समाधान का विवरण जोड़ें। –

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