文档章节

Android使用CountDownTimer倒计时

东西南瓜西葫芦
 东西南瓜西葫芦
发布于 2015/06/22 09:01
字数 317
阅读 156
收藏 1
点赞 0
评论 0

直接代码

1、布局文件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TextView" />

</LinearLayout>

2、调用

package com.best.daojishi;

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

public class MainActivity extends Activity {
	CountdownUtil c;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		TextView textView = (TextView) findViewById(R.id.textView1);

		c = new CountdownUtil(60000000, textView);
		c.countdown();
	}
	@Override
	protected void onDestroy() {
		// TODO Auto-generated method stub
		super.onDestroy();
		c.stopThread();
	}
}

3、倒计时

package com.best.daojishi;

import java.text.SimpleDateFormat;
import java.util.TimeZone;
import android.os.CountDownTimer;
import android.widget.TextView;
/**
 * 倒计时
 * */
public class CountdownUtil {
	private long time;
	TextView counetdownView;
	CountdownThread thread;
	SimpleDateFormat formatter;
	String hms;
	/**
	 * @time:时间差(指定的一段时间长),时间戳
	 * @counetdownView:TextView显示倒计时
	 * */
	public CountdownUtil(long time, TextView counetdownView) {
		this.time = time;
		this.counetdownView = counetdownView;
	}
	/**
	 * 倒计时
	 * */
	public void countdown(){
		formatter = new SimpleDateFormat("HH:mm:ss");// 初始化Formatter的转换格式。
		formatter.setTimeZone(TimeZone.getTimeZone("GMT +8:00"));//设置时区(北京),如果你不设置这个,你会发现你的时间总会多出来8个小时

		thread = new CountdownThread(time, 1000);// 构造CountDownTimer对象
		thread.start();
	}
	class CountdownThread extends CountDownTimer {
		public CountdownThread(long millisInFuture, long countDownInterval) {
			super(millisInFuture, countDownInterval);
			// TODO Auto-generated constructor stub
		}
		@Override
		public void onTick(long millisUntilFinished) {
			hms = formatter.format(millisUntilFinished);//转化成  "00:00:00"的格式
			counetdownView.setText(hms);
		}

		@Override
		public void onFinish() {
			// TODO Auto-generated method stub
			//倒计时结束时触发
			counetdownView.setText("00:00:00");
		}
	}
	/**
	 * 终止线程
	 * */
	public void stopThread(){
		thread.cancel();
	}
}


© 著作权归作者所有

共有 人打赏支持
东西南瓜西葫芦
粉丝 1
博文 22
码字总数 7400
作品 0
临沂
程序员
android倒计时功能的实现(CountDownTimer)

android倒计时功能的实现(CountDownTimer) 分类: android小例子2011-11-06 23:182550人阅读评论(4)收藏举报 在逛论坛的时候,看到一个网友提问,说到了CountDownTimer这个类,从名字上面大...

冯京宝 ⋅ 2012/06/14 ⋅ 0

聊聊 CountDownTimer 使用过程中的注意事项

Android 实现倒计时的方式有多种,Handler 延时发送 Message,Timer 和 TimerTask 配合使用,使用 CountDownTimer 类等。相比而言,经过系统封装的 CountDownTimer 算是使用起来最为方便的方...

亦枫 ⋅ 2017/09/28 ⋅ 0

Android实现倒计时之使用CountDownTimer

CountDownTimer这个类,从名字上面大家就可以看出来,记录下载时间。将后台线程的创建和Handler队列封装成为了一个方便的类调用。 查看了一下官方文档,这个类及其简单,只有四个方法,上面都...

长平狐 ⋅ 2012/09/03 ⋅ 0

CountDownTimer倒计时器的使用

以前好多倒计时的需求都需要自己去写,今天发现android 原来自带了倒计时的类CountDownTimer,和适合用于发送短信 ,等待验证码的情况 代码展示了在一个TextView进行60S的倒计时功能 public...

红豆与绿豆 ⋅ 2015/11/12 ⋅ 0

【Android】定时任务

android-timer 基于Handler的Android定时器与倒计时器 源码地址:Github AndroidTimer 修改自 Android SDK 中的 CountDownTimer 特性 支持操作 : start pause resume cancel 注意 以上方法是...

xesam ⋅ 2015/07/17 ⋅ 0

读博文学Android

学习Android的过程中得到来自互联网上乐于分享和奉献的人们的帮助,这里收集了一些Android相关的知识点的介绍,研究,实践的博文地址。每篇文章将带给学习者更多的帮助,有些地址需要FQ的帮助...

secondriver ⋅ 2015/12/18 ⋅ 0

android中的计时器总结

android中经常需要处理一些定时的操作,这些操作有的需要是延迟执行、有的需要周期执行,还有的操作需要在UI线程中执行。下面就介绍几种常见的定时操作的类。 Handler类 Handler可能是我们在...

summerpxy ⋅ 2016/05/27 ⋅ 0

CountdownTimer的cancel方法失效

今天给app做个倒计时功能,突然发现cancel方法突然失效,网上查了下,很多人也报这个错。后来找到了个解决办法,github上有人重写了countdownTimer这个类。附代码: / Copyright (C) 2008 T...

小克898 ⋅ 2012/12/15 ⋅ 0

Android Studio - 第四十四期 倒计时

现在倒计时有很多种方法,这里给大家两个方法,代码经过洗礼: 1.CountDownTimer:调用的时候很简单:timer.start(); timer.cancel(); private TextView vertifyView; private CountDownTim...

吴雨声 ⋅ 2017/07/24 ⋅ 0

Android开发教程:蓝牙测试

软件平台:Windows 7 + Eclipse + SDK 设计思路: 配合倒计时定时器实现蓝牙打开,可见,扫描三个功能 源代码: main.xml: xml version="1.0" encoding="utf-8"?>...

长平狐 ⋅ 2012/09/03 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

20.zip压缩 tar打包 打包并压缩

6月25日任务 6.5 zip压缩工具 6.6 tar打包 6.7 打包并压缩 6.5 zip压缩工具: zip支持压缩目录 zip压缩完之后原来的文件不删除 不同的文件内容其实压缩的效果不一样 文件内有很多重复的用xz压...

王鑫linux ⋅ 14分钟前 ⋅ 0

double类型数据保留四位小数的另一种思路

来源:透析公式处理,有时候数据有很长的小数位,有的时候由在四位以内,如果用一般的处理方法,那么不足四位的小树会补充0到第四位,这样子有点画蛇添足的感觉,不太好看。所以要根据小数的...

young_chen ⋅ 21分钟前 ⋅ 0

Python 优化 回溯下降算法

使用sympy构造表达式,实现回溯下降算法 画出函数图像,先使用暴力搜索,找到最小值约为2.5左右 然后选定初始点,开始进行回溯搜索,下降方向为负梯度方向 下降的误差与步数大致呈现下面的状...

阿豪boy ⋅ 26分钟前 ⋅ 0

Django配置163邮箱出现 authentication failed(535)错误解决方法

最近用Django写某网站,当配置163邮箱设置完成后,出现535错误即:smtplib.SMTPAuthenticationError: (535, b'Error: authentication failed') Django初始配置邮箱设置 EMAIL_HOST = "smtp.1...

陈墨轩_CJX ⋅ 27分钟前 ⋅ 0

用接口模拟可伸缩枚举(34)

1、枚举的可伸缩性最后证明都不是什么好点子 扩展类型的元素是基本类型实例,基本类型的实例却不是扩展类型的元素,很混乱 目前还没有很好的方法来枚举基本类型的所有元素,及其扩展 可伸缩性...

职业搬砖20年 ⋅ 31分钟前 ⋅ 0

Ubuntu18.04 IDEA快捷键无法使用

IDEA默认的回退到上一视图的快捷键是Ctrl + Alt + Left,在ubuntu中这个快捷键被占用了,在16.04中可以在界面中取消这个快捷键,但是18.04就看不到了,可以使用以下命令解决 gsettings set ...

Iceberg_XTY ⋅ 35分钟前 ⋅ 0

如何解决s权限位引发postfix及crontab异常

一、问题现象 业务反馈某台应用服务器,普通用户使用mutt程序发送邮件时,提示“postdrop warning: mail_queue_enter: create file maildrop/713410.6065: Permission denied”,而且普通用法...

问题终结者 ⋅ 47分钟前 ⋅ 0

Unable to load database on disk

由于磁盘空间满了以后,导致zookeeper异常退出,清理磁盘空间后,zk启动报错,信息如下: 2018-06-25 17:18:46,904 INFO org.apache.zookeeper.server.quorum.QuorumPeerConfig: Reading co...

刀锋 ⋅ 今天 ⋅ 0

css3 box-sizing:border-box 实现div一行多列

<!DOCTYPE html><html><head><style> div.container{ background:green; padding:10px 10px;}div.box{box-sizing:border-box;-moz-box-sizing:border-box; /* Fir......

qimh ⋅ 今天 ⋅ 0

Homebrew简介和基本使用

一、Homebrew是什么 Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径...

说回答 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部