博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android Handler传递参数动态更新UI界面demo
阅读量:6759 次
发布时间:2019-06-26

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

package com.example.demo_test;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.view.Menu;import android.widget.TextView;public class MainActivity extends Activity {    private TextView tvShow;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        tvShow = (TextView) findViewById(R.id.tv_show);        new Thread(new ThreadChangeUI(handler)).start();    }    // handler类接收数据    Handler handler = new Handler() {        public void handleMessage(Message msg) {            if (msg.what == 1) {                // 动态更新UI界面                String str = msg.getData().getInt("num") + "";                System.out.println("str----------------->" + str);                tvShow.setText(str);            }        };    };    @Override    public boolean onCreateOptionsMenu(Menu menu) {        getMenuInflater().inflate(R.menu.activity_main, menu);        return true;    }}

线程:

package com.example.demo_test;import android.os.Bundle;import android.os.Handler;import android.os.Message;public class ThreadChangeUI implements Runnable {    private Handler handler;    private int num = 0;    public ThreadChangeUI(Handler handler) {        // TODO Auto-generated constructor stub        this.handler = handler;    }    @Override    public void run() {        // 每秒改变textview的值        while (true) {            try {                Thread.sleep(1000);                Message msg = new Message();                msg.what = 1;                // handler传递参数                // handler.sendMessage(msg);                Bundle bundle = new Bundle();                bundle.putInt("num", num++);                System.out.println("num---------->" + num);                msg.setData(bundle);                handler.sendMessage(msg);            } catch (Exception e) {                // TODO Auto-generated catch block                e.printStackTrace();                System.out.println("thread error...");            }        }    }}

 

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

你可能感兴趣的文章
jdk1.8 HashMap源码分析(resize函数)
查看>>
再看static数据成员
查看>>
Pthon Matplotlib 画图
查看>>
十种排序算法实例说明总结
查看>>
Python 语言之 map/reduce
查看>>
Vue.js - Day4
查看>>
mysql之用户
查看>>
053(三十五)
查看>>
AddonSU Packages now available for LineageOS 15.1
查看>>
UVa 10970 - Big Chocolate
查看>>
SpringMVC上传图片总结(1)---常规方法进行图片上传,使用了MultipartFile、MultipartHttpServletRequest...
查看>>
小米:开源不仅要站在巨人的肩膀上,还要为巨人指方向
查看>>
百度启动高管退休计划,总裁张亚勤今年十月退休
查看>>
SpringBoot启动时的Banner设置
查看>>
xming + putty 搭建远程图形化ssh访问ubuntu 14.04
查看>>
【Sigma敏捷版系列文章】从运行流程和list-watch看kubernetes系统的设计理念
查看>>
两列布局——但只用右浮动
查看>>
GNOME 网页浏览器 Epiphany 将要进行 5 项改进
查看>>
今年CES最大亮点:智能语音助手正成为新趋势
查看>>
Windows Mysql Server重启, log-bin路径配置
查看>>