实现过程非常简单,只需要用到三个常用的方法,
一个是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;
}
});