
正文
Android计数器的实现(倒计时)
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
安卓实现计数器有四种方式,直接给代码
1、使用Thread+Handler
;
private Handler handler1 = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
tvNumber.setText(msg.what + "");
}
};
private void counter1() {
number = ;new Thread() {
public void run() {
) {
Message msg = handler1.obtainMessage();
msg.what = number;
handler1.sendMessage(msg);
try {
Thread.sleep();
} catch (InterruptedException e) {
e.printStackTrace();
}
number--;// 数字
}
};
}.start();
}
2、仅使用Handler
private void counter2() {
Message msg = handler2.obtainMessage();
msg.what = ;
handler2.sendMessageDelayed(msg, );
}
Handler handler2 = new Handler() {
public void handleMessage(Message msg) {
super.handleMessage(msg);
int num = msg.what;
tvNumber.setText(num + "");
) {
num--;
Message message = handler2.obtainMessage();
message.what = num;
handler2.sendMessageDelayed(message, );
}
};
};
3、使用android.os.CountDownTimer类实现
private void counter3() {
, ) {
public void onTick(long millisUntilFinished) {
tvNumber.setText(millisUntilFinished / + "");
}
public void onFinish() {
tvNumber.setText(");
}
}.start();
}
4、使用Timer+handler
;
private TimerTask timerTask;
private Timer timer;
private void counter4() {
number = ;
timerTask = new TimerTask() {
@Override
public void run() {
){
Message msg = handler1.obtainMessage();
msg.what = number;
handler1.sendMessage(msg);
number --;
}
}
};
timer = new Timer();
timer.schedule(timerTask, , );
}







