我有以下OnTouchListener
gridview.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
if (event.getAction() == MotionEvent.ACTION_DOWN) {
start_x = event.getX();
start_y = event.getY();
Log.d(TAG,start_x + " " + start_y);
}
但是'if'语句的主体永远不会执行。但是,对于其他事件,例如ACTION_MOVE,相应的'if'语句的主体确实会执行。有人知道为什么吗?
最佳答案
DOWN事件可能正在被另一个视图占用。
尝试在活动中重载“ onTouchEvent(MotionEvent)”,然后查看是否能够捕获该事件。
关于android - 无法捕获GridView的MotionEvent.ACTION_DOWN,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8684568/