我对Android编程和Java还比较陌生(虽然我有一些C#的经验,这有所帮助)。
目前我正在尝试一些东西,以了解所有内容是如何工作的。我创建了一个实现onTouchListener的activity。我重写了onTouch并在event.getAction()上使用了switch:
public boolean onTouch(View v, MotionEvent event)
{
float x;
float y;
switch (event.getAction())
{
case MotionEvent.ACTION_DOWN: // gets called
{
x = event.getX();
y = event.getY();
circle c = new circle(this, x, y, 10, 0xFFFFFF);
_main.addView(c, tapCount++);
break;
}
case MotionEvent.ACTION_MOVE: // doesnt seem to do anything
{
x = event.getX();
y = event.getY();
circle c = new circle(this, x, y, 10, 0xFFFFFF);
_main.addView(c, tapCount++);
break;
}
}
return false;
}
“circle”是一个绘制圆的类。
我希望看到的是当我在屏幕上拖动手指时,留下一串圆圈。但实际上,只有当我开始触摸屏幕时,圆圈才会被绘制。
我已经将我的代码与示例进行了比较(例如:Google的这篇博客文章:http://android-developers.blogspot.com/2010/06/making-sense-of-multitouch.html),但我找不到我的错误。
编辑: 完整类的链接: http://pastebin.com/tVDQjQhu
编辑: 问题已解决。在onTouch()函数中必须返回true。傻瓜!