android实现倒计时计数,Android使用CountDownTimer实现倒计时示例(Kotlin)_weixin_39719732的博客-程序员宅基地

技术标签: android实现倒计时计数  

CountDownTimer是一个抽象类,它的构造函数为CountDownTimer(long millisInFuture, long countDownInterval)

millisInFuture:倒计时的总时间,从调用start()方法开始。毫秒数

countDownInterval:倒计时的时间间隔。毫秒数。

CountDownTimer主要有四个方法:synchronized final void cancel() : 用于取消倒计时

abstract void onFinish() : 倒计时结束后悔调用此方法

abstract void onTick(long millisUntilFinished) : 每一个时间间隔调用一次onTick。

synchronized final CountDownTimer start() :启动倒计时

onFinish()和onTick()为抽象方法,我们可以在里面实现业务代码。

示例代码(kotlin)class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {

super.onCreate(savedInstanceState)

setContentView(R.layout.activity_main)

val startButton: Button = findViewById(R.id.startButton)

val stopButton: Button = findViewById(R.id.startButton)

val tv: TextView = findViewById(R.id.textView)

val cdt = MyCountDownTimer(10000,1000, tv)

startButton.setOnClickListener {

cdt.start()

}

stopButton.setOnClickListener{

cdt.cancel()

}

}

private inner class MyCountDownTimer(millisInFuture: Long, countDownInterval: Long, internal var tv: TextView) : CountDownTimer(millisInFuture, countDownInterval) {

override fun onFinish() {

tv.setText("结束")

}

override fun onTick(millisUntilFinished: Long) {

tv.setText("还剩${millisUntilFinished/1000}秒")

}

}

}

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39719732/article/details/117514036

智能推荐

按不同维度组合并聚合_LPL.的博客-程序员宅基地

grouping sets 在一个 group by 查询中,根据不同的维度组合进行聚合,等价于将不同维度的 group by 结果集进行 union allcube 根据 group by 的维度的所有组合进行聚合rollup 是 cube 的子集,以最左侧的维度为主,从该维度进行层级聚合。grouping setsselect order_id, departure_date, count(*) as cnt from ord_test group by order_id..

HCAN_Arnold-h的博客-程序员宅基地

ACL在华为设备上部署时,以下哪些说法是正确的?a.ACL除了能够根据地址进行流量过滤,还能够根据IP包头中的DSCP、TTL、协议号等进行流量过滤。b.同一个ACL可以部署在多个接口下。c.可以将多个ACL应用到一个接口上进行流量过滤。d.ACL不可以用于过滤OSPF协议报文。e.ACL可以匹配报文的TCP/UDP的端口号。考生答案:bde 回答错误正确答案:be华为设备ACL居然可以过滤OSP...

HTML文档(网页)解析_SHIFYA的博客-程序员宅基地_文档解析

这一行不是标签,是HTML的文档声明,告诉浏览器文件的类型,让浏览器解析器知道按哪个规范来解析文档。此处是HTML5的声明。

centos6.8安装mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz_一梦喂马.的博客-程序员宅基地

1.在mysql官网下载压缩文件https://dev.mysql.com/downloads/mysql/5.7.html#downloads 2.将下载下来的文件拷贝到centos系统的/opt目录下3.开始安装解压mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz [[email protected] opt]# tar -...

CentOS 6.4 编译安装2.6.38.8内核_罒罒罒的博客-程序员宅基地

最近需要使用mmap()来对内存进行映射,访问PC机上物理地址的内存,但是在CentOS6.4下的内核版本是linux-2.6.28.很明显是权限不够。

Python制作可视化大屏全流程 (附代码分享)_Python_xiaowu的博客-程序员宅基地_python制作可视化界面

今天我们就来说说如何用Pyecharts模块来制作炫酷的可视化大屏,最后的效果如下步骤如下: 分别使用Pyecharts制作各类图表,包括柱状图、地图、饼图等等 使用Pyecharts当中的组合图表功能,将所有图片拼接在一张html文件中进行展示 数据的来源这次我们使用的数据是虚构的某超市2021年第一季度的订单数据,总共是有1000条,df.info()output<class'pandas.core.frame.DataFrame'>..

随便推点

zynq linux 初步接触基础知识_Alston若水的博客-程序员宅基地

1、相关网站zynq linux软件网站:www.wiki.xilinx.comzynq u-boot github地址:https://github.com/xilinx 2、启动过程3、u-boot配置3.1 下载u-bootUBOOT有多个版本,可以去网站上下载相应的版本。14.5及早期的版本对Micron的QSPI Flash芯片支持不完整。建议下载后期版本$ git clone git:...

C++ fstream/ifstream/ofstream 类用于进行文件操作_love、reading的博客-程序员宅基地

一、ofstream  // 输出文件流,向文件写内容#include<iostream>#include <fstream>using namespace std;int main() { ofstream file1("ofstream.txt"); file1 << "hello world"; file1.close();}二、...

MapReduce之GroupingComparator分组(辅助排序、二次排序)_孙晨c的博客-程序员宅基地

指对Reduce阶段的数据根据某一个或几个字段进行分组。案例需求有如下订单数据现在需要找出每一个订单中最贵的商品,如图需求分析利用“订单id和成交金额”作为key,可以将Map阶段读取到的所有订单数据先按照订单id(升降序都可以),再按照acount(降序)排序,发送到Reduce。在Reduce端利用groupingComparator将订单id相同的kv聚合成组,然后取第一个成交金额即是最大值(若有多个成交金额并排第一,则都输出)。Mapper阶段主要做三件事:ke.

Python使用struct.unpack处理二进制文件_AllardZhao的博客-程序员宅基地_python中unpack方法

1、如何处理二进制文件?实际案例:wav是一种音频文件的格式,音频文件为二进制文件。wav文件由头部信息和音频采样数据构成,前44个字节为头部信息,包含声道数、采样频率、PCM位宽等等,后面是音频采样数据。使用python分析一个wav文件头部信息,处理音频数据。WAV格式如下: 简单分为两部分,第一部分前44个字节是音频文件的一...

postfix+cyrus-imapd搭建邮件服务器_weixu_2008的博客-程序员宅基地

1.关闭Sendmail服务:查看Sendmai服务是否在监听TCP25端口netstat -nutlp | grep :25关闭Sendmail/etc/rc.d/init.d/sendmail stopchkconfig sendmail offchkconfig sendmail --list2.安装Postfix,在DISK4上用rpm -ivh 安装确认命令:rpm -q

计算机游戏软件制作,游戏制作软件,制作游戏的软件_晚致的博客-程序员宅基地

NES游戏生产软件您无法使用它!游戏制作更重要的是~~制作一个游戏需要多个工作组~~游戏原始脚本设置?计算机语言编程~~ 3D图形设计~~~角色动作捕捉和制作~~菜单字幕制作?音乐, 声音效果制作~~ CG动画制作?角色配音合成?等...最后,我们需要测试和优化引擎~~每个过程都需要数十种,甚至数百种软件~~制作游戏 不只是一个软件~~就3D游戏而言?最常用于制作3D角色模型的软件是:3D MAX...