设为首页 加入收藏

TOP

CountDownTimer完整详细示例
2015-07-20 17:40:00 来源: 作者: 【 】 浏览:3
Tags:CountDownTimer 完整 详细 示例
MainActivity如下:
package cc.cv;

import android.os.Bundle;
import android.os.CountDownTimer;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.app.Activity;
/**
 * Demo示例:
 * CountDownTimer完整详细示例
 * 代码很简单,直接看注释即可
 * 
 * CountDownTimer是Android4.0引入的倒计时
 */
public class MainActivity extends Activity {
	private Button mStartButton;
	private Button mCancelButton;
    private CountDownTimerSubClass mCountDownTimerSubClass;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		init();
	}
	
	
	private void init(){
		mCountDownTimerSubClass=new CountDownTimerSubClass(15*1000, 1000);
		mStartButton=(Button) findViewById(R.id.startButton);
		//开始倒计时
		mStartButton.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View view) {
				mCountDownTimerSubClass.start();
			}
		});
		//取消倒计时.
		//再次调用CountDownTimer的start时会重新开始倒计时.
		mCancelButton=(Button) findViewById(R.id.cancelButton);
		mCancelButton.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View view) {
				mCountDownTimerSubClass.cancel();
			}
		});
	}
	
	

	private class CountDownTimerSubClass extends CountDownTimer{
		/**
		 * millisInFuture 倒计时间
		 * countDownInterval 每两次倒计时之间的间隔
		 */
		public CountDownTimerSubClass(long millisInFuture,long countDownInterval) {
			super(millisInFuture, countDownInterval);
		}

		/**
		 * 倒计时结束
		 */
		@Override
		public void onFinish() {
			System.out.println("结束");
		}

		/**
		 * 每一个倒计时间点到来时均会触发该方法
		 * millisUntilFinished表示整个倒计时剩余的时间
		 */
		@Override
		public void onTick(long millisUntilFinished) {
			long remainedSeconds=millisUntilFinished/1000;
			System.out.println("剩余: "+remainedSeconds+" s");
		}
		
		
	}

}

main.xml如下:
  

    
   
    
    
     
   


  


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇hdu 4661 Message Passing (思维.. 下一篇C++运算符重载的妙用

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Redis 分布式锁全解 (2025-12-25 17:19:51)
·SpringBoot 整合 Red (2025-12-25 17:19:48)
·MongoDB 索引 - 菜鸟 (2025-12-25 17:19:45)
·What Is Linux (2025-12-25 16:57:17)
·Linux小白必备:超全 (2025-12-25 16:57:14)