2010-09-08 13 views
7

Chcę narysować mapę bitową o metodę wyciągania w MyPositionOverlay rozszerza klasę nakładki, ale pojawia się ten błąd: Metoda getResource() jest zdefiniowana dla typu MyPositionOverlayAndroid getResource() błąd niezdefiniowany

Jeżeli się mylę?

Oto kod sposób tworzą pobór:

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

Dzięki

Odpowiedz

14

Sposób getResources() nie jest członkiem klasy nakładki. getResources() jest członkiem klasy Context. Trzeba zdać odniesienie do kontekstu Nakładka podklasy tak, że można go załadować rozciągliwej zasobu:

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

ty też nie chcesz, aby załadować bitmapę w metodzie draw, ponieważ jest bardzo intensywny i pamięć spowolni twoją aplikację, powinieneś zapisać zmienną składową mapy bitowej w konstruktorze nakładki, aby była ładowana tylko raz.

+1

Dzięki za szybką odpowiedź, ale teraz mam ten błąd „kontekst nie może być rozwiązany” – Jovan

+1

należy określić kontekst, kontekst; – Jorgesys

1

użycie

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

lub

Bitmap bmp = BitmapFactory.decodeResource(Context.getResources(), R.drawable.icon); 
Powiązane problemy