利用PostDelay实现的Timer类,代码如下:
import android.os.Handler; public class Timer { private int _interval; public int getInterval() { return _interval; } public void setInterval(int delay) { _interval = delay; } private Handler handler; private Runnable _tickHandler; private Runnable delegate; private boolean ticking; public boolean getIsTicking(){ return ticking; } public Timer(int interval) { _interval = interval; handler = new Handler(); } public Timer(int interval, Runnable onTickHandler) { _interval = interval; setOnTickHandler(onTickHandler); handler = new Handler(); } public void start(int interval, Runnable onTickHandler) { if (ticking) return; _interval = interval; setOnTickHandler(onTickHandler); handler.postDelayed(delegate, _interval); ticking = true; } public void start() { if (ticking) return; handler.postDelayed(delegate, _interval); ticking = true; } public void stop() { handler.removeCallbacks(delegate); ticking = false; } public void setOnTickHandler(Runnable onTickHandler) { if (onTickHandler == null) return; _tickHandler = onTickHandler; delegate = new Runnable() { public void run() { if (_tickHandler == null) return; _tickHandler.run(); handler.postDelayed(delegate, _interval); } }; } }
用法如下:
boolean blinkOn = false; Timer tmrBlink = new Timer(500, new Runnable() { public void run() { if (blinkOn) { ((TextView) findViewById(R.id.widget46)).setVisibility(View.VISIBLE); } else { ((TextView) findViewById(R.id.widget46)).setVisibility(View.INVISIBLE); } blinkOn = !blinkOn; } }); tmrBlink.start();
本文介绍了一个利用PostDelay实现的Timer类的使用方法,包括构造函数、属性设置、启动与停止等核心功能,通过实例展示了如何在Android应用中应用此Timer类来实现定时任务的管理。
1万+

被折叠的 条评论
为什么被折叠?



