2010-09-08 5 views
7

Je veux dessiner bitmap sur la méthode de tirage dans MyPositionOverlay étend la classe de recouvrement, mais je reçois cette erreur: La méthode getResource() est définie pour le type MyPositionOverlayAndroid getResource() erreur non définie

Là où je me trompe?

forme de code est ici Méthode de tirage:

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

Merci

Répondre

14

La méthode getResources() ne fait pas partie de la classe de recouvrement. getResources() est membre de la classe Context. Vous devez passer une référence d'un contexte à votre sous-classe de recouvrement afin qu'il puisse charger la ressource Drawable:

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

Vous ne voulez pas aussi charger une image bitmap dans votre méthode de tirage comme il est très gourmand en mémoire et ralentira votre application, vous devez enregistrer une variable membre du bitmap dans le constructeur de la superposition afin qu'elle ne soit chargée qu'une seule fois.

+1

Merci pour votre réponse rapide, mais maintenant je reçois cette erreur « contexte ne peut pas être résolu » – Jovan

+1

vous devez définir le contexte de contexte; – Jorgesys

1

utilisation

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

ou

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