Android:似乎无法正确使用MotionEvent.ACTION_MOVE

我对Android编程和Java相当陌生(尽pipe我对C#有一些经验,所以这很有帮助)。

在这个时候,我正在蠢蠢欲动,想知道一切是如何运作的。 我做了一个实现onTouchListener的活动。 我已经覆盖onTouch并在event.getAction()上有一个开关:

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; } 

“圈子”是一个画圈的class级。

当我将手指拖到屏幕上时,我期望看到的是一圈圈子。 相反,当我开始触摸的时候,这个圆圈才被画出来。

我将我的代码与示例进行了比较(例如:Google的这个博客: http : //android-developers.blogspot.com/2010/06/making-sense-of-multitouch.html ),我找不到我的错误。

编辑:链接到全class: http : //pastebin.com/tvdqjqhu

编辑:修正。 必须在onTouch()函数中返回true。 D'哦!

  • 在onTouchEvent中,ACTION_UP不起作用
  • View.onTouchEvent仅注册ACTION_DOWN事件
  • 如何处理片段上的触摸事件?
  • 处理Recyclerview - android内的项目的触摸事件
  • 处理拦截触摸事件而不扩展ViewGroup
  • 无法在Android设备上的Javascript中获取touchevents的坐标
  • 按下button时如何重复执行某些操作?
  • 方法onTouchEvent未被调用
  • 我在使用MotionEvent.ACTION_MOVE时遇到同样的问题。 要使MotionEvent.ACTION_MOVE正常工作,请返回true而不是false。

    对我来说解决scheme是

     return true 

    在onTouch函数中,你应该使用这个

     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 true; //the problem was here 

    }

    当您从onTouch(View v,MotionEvent事件)返回false时,则只会调用MotionEvent.ACTION_DOWN。 所以你应该从这个函数返回true

    希望这是帮助

    也有同样的问题,我不知道这是否是一个错误,但我设法通过添加OnClickListener到实现,并实现public void onClick(View v)然后还添加setOnClickListener(this)构造函数。