Android长按连续触发的具体实现

实现过程非常简单,只需要用到三个常用的方法,
一个是CountDownTimer:
负责连续不断的触发某些事件,
一个setOnLongClickListener:
负责监听长按事件,
还有一个setOnTouchListener则用于监听ACTION_UP,即停止长按后取消CountDownTimer的连续消息

代码实现如下:

    //每隔100毫秒触发一次
        final CountDownTimer  countDownTimerup=new CountDownTimer(100000,100) {
            @Override
            public void onTick(long millisUntilFinished) {
                i++;
          
            }

            @Override
            public void onFinish() {

            }

        };




       imageViewup.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View v) {
 countDownTimerup.start();
                return false;
            }
        });




//停止长按结束CountDownTimer
        imageViewup.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                if (event.getAction()==MotionEvent.ACTION_UP){
                    countDownTimerup.cancel();
                }
                return false;
            }
        });

你可能感兴趣的:(安卓知识,android,java)