Android常用的3种定时刷新UI的方法和子线程能否刷新UI那些事
来源:互联网 发布:优酷网络剧合作模式 编辑:程序博客网 时间:2024/05/16 08:30
- 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.widget.Button;
- import android.widget.TextView;
- public class MainActivity extends Activity {
- TextView text1,text2, text3;
- Button button;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- text1 = (TextView) findViewById(R.id.info1);
- text2 = (TextView) findViewById(R.id.info2);
- text3 = (TextView) findViewById(R.id.info3);
- button = (Button)findViewById(R.id.button1);
- //第一种刷新Timer,TimerTask
- timer.schedule(new TimerTask() {
- @Override
- public void run() {
- handler.sendEmptyMessage(0);
- }
- }, 0, 1000);//延时0秒后每隔1秒刷新一次。
- //结束timer调用:
- //timer.cancel();
- //第二种mHandler.postDelayed(runnable, 1000);
- mHandler.removeCallbacks(runnable);
- mHandler.postDelayed(runnable, 1000);
- //结束mHandler调用
- //mHandler.removeCallbacks(runnable);
- //第三种调用2次showHandler.sendMessageDelayed(message, 1000);形成循环。
- startShowUI();
- //取消startShowUI()的调用
- //showHandler.removeMessages(0);
- }
- //第一种方法
- Timer timer = new Timer();
- private int temp1 = 0;
- private Handler handler = new Handler(){
- public void handleMessage(Message msg) {
- text1.setText("count temp1 = " + temp1);
- temp1++;
- };
- };
- //第二种方法
- private int temp2 = 0;
- private Handler mHandler = new Handler();
- private Runnable runnable = new Runnable() {
- @Override
- public void run() {
- text2.setText("count temp2 = " + temp2);
- temp2++;
- mHandler.postDelayed(runnable, 1000);
- }
- };
- //第三种方法
- private Handler showHandler;
- private int temp3 = 0;
- private void startShowUI(){
- showHandler = new Handler(){
- @Override
- public void handleMessage(Message msg) {
- super.handleMessage(msg);
- text3.setText("count temp3 = " + temp3);
- temp3++;
- Message message = handler.obtainMessage(0);
- showHandler.sendMessageDelayed(message, 1000);
- }
- };
- Message message = handler.obtainMessage(0);
- showHandler.sendMessageDelayed(message, 1000);
- }
- }
阅读全文
0 0
- Android常用的3种定时刷新UI的方法和子线程能否刷新UI那些事
- Android常用的3种定时刷新UI的方法和子线程能否刷新UI那些事
- Android进阶-子线程中刷新UI的讨论
- Android 线程监控以及线程刷新主UI的方法
- 子线程 刷新UI
- Android 定时刷新UI
- android之在子线程刷新UI
- 【Android】UI界面外的线程,控制刷新UI界面
- 关于子线程刷新ui
- Android 定时异步刷新UI
- 刷新UI的方法总结
- 刷新UI的两种实现方法
- Android子线程中更新UI的3种方法
- Android子线程中更新UI的3种方法
- Android子线程中更新UI的3种方法
- Android子线程中更新UI的3种方法
- Android子线程中更新UI的3种方法
- Android子线程中更新UI的3种方法
- pickle
- 对hashMap中的value进行排序
- 2017 Android Toolbar 教程详解
- vm12安装centos7_min
- IPC----共享内存
- Android常用的3种定时刷新UI的方法和子线程能否刷新UI那些事
- jersey作为图片服务器
- 内核工具 – Sparse 简介
- Java 格式化小数位与设置千分位
- HashMap 、 ArrayList、String 重写了equals方法 而Object类(比如User)没有重写
- 设计模式-----------单例模式
- socket的基本函数
- 查看java内存情况命令
- Oracle中rownum、rowid、row_number()、rank()、dense_rank()的区别