public class MainActivity extends Activity {
private Handler handler = new Handler();
/**
* 循环次数
*/
private int cycleIndex=0;
private Runnable runnable;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView textView=(TextView) findViewById(R.id.textView);
textView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Log.d("myf", "点击了停止计时器");
stopRunnable(runnable);
}
});
runnable = new Runnable() {
@Override
public void run() {
cycleIndex++;
// 要做的事情
Log.d("myf", "====="+cycleIndex);
handler.postDelayed(this, 2000);
setTimeStopRunnable(cycleIndex);
}
};
handler.postDelayed(runnable, 2000);// 每两秒执行一次runnable.
}
/**
*
* 设置时间停止计时器
* @param time 表示循环次数
*/
private void setTimeStopRunnable(int cycleIndex) {
if (cycleIndex>=5) {
stopRunnable(runnable);
}
}
/**
* 停止计时器
* @param runnable
*/
private void stopRunnable(Runnable runnable) {
handler.removeCallbacks(runnable);
}
}
Android 计时器
最新推荐文章于 2021-06-03 20:52:13 发布