2012-09-16 56 views
0

我拼命想解决这个问题: 只有一个ACTION_DOWN事件触发我的方法。整天,它运行良好,但现在它不再工作了,但我没有改变任何东西。TouchEvent不再工作

public boolean onTouch(View v, MotionEvent event) { 

    boolean isReleased = event.getAction() == MotionEvent.ACTION_UP || event.getAction() == MotionEvent.ACTION_CANCEL; 
    boolean isPressed = event.getAction() == MotionEvent.ACTION_DOWN; 
    boolean isMoved = event.getAction() == MotionEvent.ACTION_MOVE; 


     if(isPressed){ 
      if(Gesture_Done){ 
       reset_It();   
      } 
      xPressed = event.getX(); 
      yPressed = event.getY(); 
      action_timelist.add(System.currentTimeMillis()); 
      if(action_timelist.size()>1){ 
       evaluate_actionlist(true); 
      } 
     } 

     else if(isReleased){   
      if(!Gesture_Done){ 
      action_timelist.add(System.currentTimeMillis()); 
      evaluate_actionlist(false); 
      } 
      Gesture_Done=false; 
     } 

     else if(isMoved){ 
      xMoved = xPressed - event.getX(); 
      yMoved = yPressed - event.getY(); 
      checkGesture(); 
     } 
      return false; 
    } 

原因没有显示的错误,我不知道如何解决它..

回答

3

尝试使用下面的编辑的代码。就在几个小时前,我也遇到了同样的问题,这是因为即使我正在使用触摸事件,我也返回了错误。如果您对事件采取行动,则下面的代码返回true,否则返回false。

​​
+0

非常感谢。我试图解决这个问题好几个小时。 你有一个想法,为什么它运作良好,然后停止工作?我今天更新了java,但我认为这不重要。 – Alrick

+0

您必须将最下面的返回值更改为false;从真实的回归;这是我能想到的唯一原因。 –