handler的使用实例

每次需要根据网络请求或其他耗时操作去更新UI内容的时候都会首先想到使用handler去实现,今天写个最简单的实例,防止以后要写都要先去百度。

先声明自己的thread

  private Thread mThread;

然后写自己的handler

 public Handler mHandler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
           if(msg.what ==1){
               Bundle data = msg.getData();
               String val = data.getString("value");
                //拿到数据之后在这里写更新UI的操作
                //textView.setText(val);
           } 
        }
    };

然后就是Runnable了

    Runnable runnable = new Runnable() {
        @Override
        public void run() {
            //这里最好写成函数,在其他你需要的地方传入你的handler
            //如ParseData.getResult(jsonStr, mHandler);
            Message msg = new Message();
            //用bundle写入你要传的数据
            Bundle data = new Bundle();
            data.putString("value", htmlStr);
            msg.what = 1;
            msg.setData(data);
    };

然后就可以在你的onCreateView里面使用了

 protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        if(mThread == null){
            mThread = new Thread(runnable);
            mThread.start();
        }
    }

这样的写法个人觉得比较规范,一般还有下一种写法,直接百度了一个。这个个人觉得在确定thread只会被执行一次的时候使用

new Thread( new Runnable() {     
    public void run() {     
         myView.invalidate();    
     }            
}).start();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值