Android getResource()未定义错误

时间:2010-09-08 00:43:44

标签: android

我想在MyPositionOverlay中绘制方法的位图扩展Overlay类但是我得到了这个错误:方法getResource()未定义类型MyPositionOverlay

我哪里错了?

这是代码表格绘制方法:

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

由于

2 个答案:

答案 0 :(得分:16)

getResources()方法不是Overlay类的成员。 getResources()是Context类的成员。您需要将Context的引用传递给Overlay子类,以便它可以加载Drawable资源:

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

您也不希望在draw方法中加载位图,因为它占用大量内存并且会降低应用程序的速度,您应该在叠加层的构造函数中保存位图的成员变量,以便它只能获得加载一次。

答案 1 :(得分:1)

使用

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

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