:发布OnClickListener()

时间:2018-01-21 19:56:39

标签: android onclicklistener

我有以下代码:

view.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            i++;
        }
    });

但问题是,当用户用另一根手指触摸视图时,除非他释放第一次触摸,否则onClickListerner()不再起作用。我正在寻找一种如何立即释放点击的方法,以便通过多点触摸来触发听众。

我也尝试过:

view.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View view, MotionEvent motionEvent) {
            switch (motionEvent.getAction()) {
                case MotionEvent.ACTION_DOWN:
                    i++;
                    motionEvent.setAction(MotionEvent.ACTION_UP);
                    return true;
                default:
                    return false;

            }
        }
    });

1 个答案:

答案 0 :(得分:0)

我用以下方法解决了这个问题:

view.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View view, MotionEvent motionEvent) {
            switch (motionEvent.getAction() & MotionEvent.ACTION_MASK) {
                case MotionEvent.ACTION_DOWN:
                case MotionEvent.ACTION_POINTER_DOWN: {
                    i++;
                    return true;
                }
                default:
                    return true;

            }
        }
    });

它无法释放第一次触摸,但我能够启用多点触控。