我想在MyPositionOverlay中绘制方法的位图扩展Overlay类但是我得到了这个错误:方法getResource()未定义类型MyPositionOverlay
我哪里错了?
这是代码表格绘制方法:
Bitmap bmp = BitmapFactory.decodeResource(getResource(), R.drawable.icon);
canvas.drawBitmap(bmp, screenPts.x, screenPts.y-50, null);
由于
答案 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);