Android学习第六课 计时器小应用
来源:互联网 发布:出售备案域名 编辑:程序博客网 时间:2024/04/29 20:51
算一算又有很多天没有写过总结了,最近不知道一直在忙些什么,时间就这样过去了,今天写了一个关于倒计时的小应用,算是把关于线程的东西进行了一个回顾。
首先是一个界面,这个因为只是为了复习知识点,界面就是最丑的白色型界面。
然后就是倒计时的逻辑
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //将各大控件进行初始化,并且设计控件的点击动作 init(); } public void init() { inputtime = (EditText) findViewById(R.id.inputtime); gettime = (Button) findViewById(R.id.gettime); starttime = (Button) findViewById(R.id.starttime); stoptime = (Button) findViewById(R.id.stoptime); time = (TextView) findViewById(R.id.time); gettime.setOnClickListener(this); starttime.setOnClickListener(this); stoptime.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.gettime: //将输入的数字保存下来,并且将其转换成string类型显示在TextView里面 time.setText(inputtime.getText().toString()); //将输入的字符串转换成int型,传给i i = Integer.parseInt(inputtime.getText().toString()); break; case R.id.starttime: //启动倒计时 starttime(); break; case R.id.stoptime: //停止倒计时 stoptime(); break; } } // 使用handle(消息处理类)机制来传递消息 private Handler mhandle = new Handler(){ //对消息进行处理 public void handleMessage(Message msg) { //得到时间,将其在textview中显示 time.setText(msg.arg1+""); //运用了递归的思想,不停的调用自己,实现倒计时的目的 starttime(); }; }; public void starttime() { timer = new Timer(); task = new TimerTask() { @Override public void run() { // 倒计时时间自减 i--; // 通过message对象获得相应的信息 Message message = mhandle.obtainMessage(); //message自带的参数,用于存放整型的参数 message.arg1 = i; //发送 消息 mhandle.sendMessage(message); } }; timer.schedule(task, 1000); } private void stoptime() { timer.cancel(); }
这里面有一个注意的地方就是time.setText(msg.arg1+"");
笔者在这里犯了一个小错误,这句话是为了在textview中显示倒计时的时间,但是setText的参数必须是字符串类型,当时笔者忘记转化,导致程序一直出错。这里提醒一下。最后的效果如下:
0 0
- Android学习第六课 计时器小应用
- Android应用小实例--炫酷计时器
- Android计时器Chronometer小例子
- 【Android应用实例01】计时器
- 第六章 数码管的动态显示+计时器的应用
- android学习笔记13:计时器
- Android中实现计时器的小案例
- Android 开发第六弹:简易时钟(计时器)
- 第六章 计时器
- 计时器应用
- 学习android第六天
- Android 计时器
- android-计时器
- android 计时器
- android 计时器
- android 计时器
- Android 计时器
- Android计时器
- Appium跑python脚本自动生成简单测试结果报告
- BZOJ 3289 Mato的文件管理 莫队算法
- Linux安装Mongodb
- CF 650A Watchmen
- 一个简答的生产者-消费者多线程模型
- Android学习第六课 计时器小应用
- hdoj--1716--排列2(暴力水题)
- 最小乘积
- 【iOS界面开发】视图开发技巧
- 使用CSS3线性渐变(linear-gradient)实现文本波浪线效果
- js基础与DOM
- MySQL数据库总结(7)视图
- 蓝桥杯历届-三羊献瑞
- test一下博客怎么写