我有以下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/

10-10 03:25