android中的runOnUiThread(runnable)

本文介绍了Android中用于更新UI的便捷方法——runOnUiThread。在处理异步操作时,它提供了一种简单的方式,避免了Thread+Handler的复杂性以及AsyncTask的限制。通过代码示例,展示了如何利用runOnUiThread在主线程中执行UI更新操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在android中经常需要用到异步操作,Thread+Handler方式感觉繁琐,AsyncTask只能执行一次,很多需求不能满足,这时我们可以试试Activity提供的另外一种简单的方法runOnUiThread,runOnUiThread可以帮助你在线程中执行UI更新操作。

以下为代码:

     MyActivity.this. runOnUiThread(new Runnable() { 
                    @Override 
                        public void run() { 

                           // refresh ui 的操作代码

                        } 
                    });

  这里需要注意的是runOnUiThread是Activity中的方法,在线程中我们需要告诉系统是哪个activity调用,所以前面显示的指明了activity。

下面为runOnUiThread的代码
public final void runOnUiThread(Runnable action) {
        if (Thread.currentThread() != mUiThread) {
            mHandler.post(action);
        } else {
            action.run();
        }
    }

从代码可以看到,runOnUiThread首先判断是否是UI线程,不是的话就post,如果是的话就正常运行该线程.
只要经过主线程中的Handler.post或者postDelayed处理线程runnable则都可以将其转为UI主线程.再说Handler的机制就是来处理线程与UI通讯的.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值