博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
当时遇到的主要难点在于TextView的内容不会刷新改变值,今天终于通过Timer和Handler实现了,分享给大家...
阅读量:6371 次
发布时间:2019-06-23

本文共 3169 字,大约阅读时间需要 10 分钟。

import java.util.Timer;import java.util.TimerTask;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.view.View;import android.widget.Button;import android.widget.TextView;public class AndroidLuckyActivity extends Activity{        private TextView textView;        private Button button_start;        private Button button_end;        private Boolean begined = false;        private Timer timer;        private Handler handler;    /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState)     {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        init();        handler = new Handler()        { public void handleMessage(Message msg)                {                        super.handleMessage(msg);                        if(begined == true)                        {                                textView.setText("" +msg.what);                        }                        else if(begined == false)                        {                    textView.setText("" + msg.what);                                timer.cancel();                        //Timer停止                        }                }        };    }    void init()    {            textView = (TextView)this.findViewById(R.id.tv);            button_start = (Button)this.findViewById(R.id.btn_start);            button_end = (Button)this.findViewById(R.id.btn_end);        button_start.setOnClickListener(new Button.OnClickListener()        {                        @Override                        public void onClick(View v)                        {                                // TODO Auto-generated method stub                                begined = true;                                button_start.setEnabled(false);                                button_end.setEnabled(true);                                timer = new Timer();                                timer.schedule(new TimerTask()                                 {                                        @Override                                        public void run()                                        {                                                // TODO Auto-generated method stub                                                Message message = new Message();                                                message.what = (int) (Math.random() * 999 + 100);                                                handler.sendMessage(message);                                        }                                }, 1000, 30);        //从1000ms即1s开始,30ms为数字改变周期                        }        });        button_end.setOnClickListener(new Button.OnClickListener()        {                        @Override                        public void onClick(View v)                        {                                // TODO Auto-generated method stub                                begined = false;                                button_start.setEnabled(true);                                button_end.setEnabled(false);                        }        });    }}

运行图:

转载地址:http://qhuqa.baihongyu.com/

你可能感兴趣的文章
Java的初始化顺序
查看>>
js 判断回文字符串
查看>>
shields小徽章是如何生成的?以及搭建自己的shield服务器
查看>>
猫头鹰的深夜翻译:spring事务管理
查看>>
记一次使用Spring REST Docs + travis + github自动生成API接口文档的操作步骤(下)...
查看>>
1、集合 2、Iterator迭代器 3、增强for循环 4、泛型
查看>>
关于/var/run/docker.sock
查看>>
SCrapy爬虫大战京东商城
查看>>
用 JavaScript 实现链表操作 - 11 Alternating Split
查看>>
Laravel优秀扩展包整理
查看>>
日志分析之识别真假蜘蛛与处理办法
查看>>
太多脚本将会毁掉持续交付
查看>>
一地鸡毛 OR 绝地反击,2019年区块链发展指南
查看>>
卢森堡大学发布RepuCoin系统,可破解区块链51%攻击
查看>>
国内云计算厂商众生相:四大阵营十几家企业生存盘点
查看>>
细说Unicode(一) Unicode初认识
查看>>
Node.js有了新的管理者
查看>>
Java 20年:历史与未来
查看>>
彻底理解Javascript中的原型链与继承
查看>>
腾讯最大规模裁撤中层干部,让贤年轻人
查看>>