AndroidのCountDownTimer倒计时器

Android CountDownTimer倒计时器的使用

在一个TextView不断显示剩下的时间,代码如下:

package com.xiaowu.timercount;

import android.app.Activity;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.widget.TextView;

public class MainActivity extends Activity {
	// 显示剩余时间的文本
	private TextView txtTime;
	// 倒计时类的实例
	private CountDownTimer timer;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		// 初始化
		txtTime = (TextView) findViewById(R.id.txt_left_time);
		// 倒计时的实现,两个参数,第一个为倒计时总的时间,第二个参数为间隔时间
		timer = new CountDownTimer(10 * 1000, 1000) {

			@Override
			public void onTick(long millisUntilFinished) {
				txtTime.setText(millisUntilFinished / 1000 + "");
			}

			@Override
			public void onFinish() {
				txtTime.setText("倒计时结束");
			}
		};
		// 调用start方法开始倒计时
		timer.start();
	}
}

如果想实现倒计时有时间格式:

public String setTimeFormat(long time){
	int hour=(int)time/(60*60);
	int minute=(int)(time%(60*60))/60;
	int second=(int)time%60;
	return hour+"小时 "+minute+"分 "+second+"秒";
}

如果想实现 利用手机发送短信获取验证码,倒计时统一:

private TextView vertifyView;
private CountDownTimer timer = new CountDownTimer(10000, 1000) {
@Override
public void onTick(long millisUntilFinished) {
vertifyView.setText((millisUntilFinished / 1000) + "秒后可重发");
}
@Override
public void onFinish() {
vertifyView.setEnabled(true);
vertifyView.setText("获取验证码");
}
};

调用的时候很简单:timer.start();

最后说明一下:CountDownTimer timer = new CountDownTimer(10000, 1000)中,第一个参数表示总时间,第二个参数表示间隔时间。意思就是每隔一秒会回调一次方法onTick,然后10秒之后会回调onFinish方法。


你可能感兴趣的:(android,textview)