我创建了一个自定义视图类,用于我正在处理的项目中。简而言之,我正在显示一个图像,然后在原始图像上添加图像(目前通过点击图像,但这不是最终的)。
我的自定义视图中有以下两种方法:
protected void onDraw(Canvas canvas)
{
super.onDraw(canvas);
for (Drawable d : drawableList)
{
d.draw(canvas);
}
}
public void AddPoint(float x, float y)
{
Drawable tempDrawable = pin;
tempDrawable.setBounds((int)x, (int)y, (int)x + 50, (int)y + 50);
drawableList.add(tempDrawable);
invalidate();
}
在AddPoint()
中调用OnTouchListener
方法,并传递touch event
的坐标。
它目前的工作方式是显示主图像,但只会显示我点击的最新图像,之前的图像会消失。
有人知道我在这里做错了吗?
答案 0 :(得分:0)
我已经弄明白我做错了什么。
代码行:
Drawable tempDrawable = pin;
我改为:
Drawable tempDrawable = mainRes.getDrawable(R.drawable.pin);
我从自定义View类中编写的init(Context context)方法获得了mainRes。