2010-09-08 17 views
7

मैं MyPositionOverlay में ड्रा पद्धति पर बिटमैप आकर्षित करने के लिए चाहते हैं ओवरले वर्ग फैली लेकिन मैं इस त्रुटि मिलती है: विधि getResource() प्रकार MyPositionOverlayएंड्रॉयड getResource() अपरिभाषित त्रुटि

कहाँ मैं गलत हूँ के लिए अपरिभाषित है?

Bitmap bmp = BitmapFactory.decodeResource(getResource(), R.drawable.icon); 
    canvas.drawBitmap(bmp, screenPts.x, screenPts.y-50, null); 

धन्यवाद

उत्तर

14

getResources() विधि ओवरले वर्ग के एक सदस्य नहीं है:

यहाँ कोड के रूप ड्रा तरीका है। getResources() संदर्भ वर्ग का सदस्य है।

Bitmap bmp = BitmapFactory.decodeResource(context.getResources(), R.drawable.icon); 

तुम भी नहीं अपने ड्रा विधि में एक बिटमैप लोड करने के लिए के रूप में यह बहुत स्मृति-गहन है चाहते हैं और: इतना है कि यह Drawable संसाधन लोड कर सकते हैं आप अपने ओवरले उपवर्ग के लिए एक संदर्भ के संदर्भ में उत्तीर्ण होना आपके एप्लिकेशन को धीमा कर देगा, आपको ओवरले के कन्स्ट्रक्टर में बिटमैप के सदस्य चर को सहेजना चाहिए ताकि यह केवल एक बार लोड हो जाए।

+1

अपने तेजी से उत्तर के लिए धन्यवाद, लेकिन अब मैं इस त्रुटि "संदर्भ हल नहीं किया जा सकता है" – Jovan

+1

आप संदर्भ संदर्भ को परिभाषित करना होगा मिलता है, – Jorgesys

1

उपयोग

Bitmap bmp = BitmapFactory.decodeResource(this.getResources(), R.drawable.icon); 

या

Bitmap bmp = BitmapFactory.decodeResource(Context.getResources(), R.drawable.icon); 
संबंधित मुद्दे