2012-09-16 50 views
2

我遇到MotionEvent.ACTION_UP的問題在我擡起手指之前調用該事件。MotionEvent.Action_up調用早期

這是我使用的代碼。我應該改變什麼?謝謝你的幫助!

public boolean onTouchEvent(MotionEvent e) { 
    switch(e.getAction()) { 
    case MotionEvent.ACTION_DOWN: 
     if(checkColide(e.getX(), e.getY())) { 
      isFootballTouched = true; 
      downT = c.MILLISECOND; 
      downX = e.getX(); 
     } 
     break; 
    case MotionEvent.ACTION_MOVE: 
     //moveFootball(e.getX(), e.getY()); 
     break; 
    case MotionEvent.ACTION_UP: 
     upT = c.MILLISECOND; 
     upX = e.getX(); 
     getVelocity();   
     break; 
    }  
    return false;  
} 

回答

3

嘗試返回true,如果發生這種3箱子一個

public boolean onTouchEvent(MotionEvent e) { 
switch(e.getAction()) { 
case MotionEvent.ACTION_DOWN: 
    if(checkColide(e.getX(), e.getY())) { 
     isFootballTouched = true; 
     downT = c.MILLISECOND; 
     downX = e.getX(); 
    } 
    return true; 
case MotionEvent.ACTION_MOVE: 
    //moveFootball(e.getX(), e.getY()); 
    return true; 
case MotionEvent.ACTION_UP: 
    upT = c.MILLISECOND; 
    upX = e.getX(); 
    getVelocity();   
    return true; 
}  
return false;  

}

+1

這樣做,謝謝!儘管如此,你需要刪除中斷 – linuxer

1

也許你應該從onTouchEvent()返回true。返回false意味着您不再有興趣收到此事件View了。希望這可以幫助。