Android中的ACTION_DOWN事件无法循环播放

只要拇指在我的imageview上,我就想循环执行一些连续的任务.一旦竖起大拇指,我想停止这项工作.为此,我在ACTION_DOWN和ACTION_UP上设置了一个标志,我正在取消该标志,以便循环可以停止.但是我的循环越来越无限.吐司在循环时也不会出现.任何帮助将不胜感激.谢谢!!

      ivThumb.setOnTouchListener(new View.OnTouchListener() {
                @Override
                public boolean onTouch(View v, MotionEvent event) {
                    if (event.getAction() == MotionEvent.ACTION_DOWN) {
                        Toast.makeText(c, "action down", Toast.LENGTH_SHORT).show();
                        ivCharger.setVisibility(View.VISIBLE);
                        tvCharging.setVisibility(View.VISIBLE);
                        flag = true;
    //                    while (flag){
    //                        Toast.makeText(c, "hello", Toast.LENGTH_SHORT).show();
    //
    //                    }

                    }
                    else if (event.getAction() == MotionEvent.ACTION_MOVE){
                        Toast.makeText(c, "move", Toast.LENGTH_SHORT).show();
                    }
                    else if (event.getAction() == MotionEvent.ACTION_UP) {
                        Toast.makeText(c, "aCTION UP", Toast.LENGTH_SHORT).show();
                        flag = false;
                        ivCharger.setVisibility(View.GONE);
                        tvCharging.setVisibility(View.GONE);
                        //ivBattery.setImageResource(R.drawable.orange);
                    }
 return true;
            }
        });

解决方法:

使用开关并添加setPressed参数,

switch (event.getAction()) {
            case MotionEvent.ACTION_DOWN:
                ivThumb.setPressed(true);
                //Your Function
                break;

            case MotionEvent.ACTION_MOVE:
                //Your Function
                break;

            case MotionEvent.ACTION_UP:
                //Your Function
                ivThumb.setPressed(false);
                invalidate();
                break;

这应该可以解决问题.我建议调用一个函数并在那里处理敬酒.

编辑:
正如@Chetan指出的那样,您必须返回true才能使onTouch正常工作.

上一篇:反射将事件处理程序绑定到任何类型的事件


下一篇:JavaScript中的事件与事件处理程序