Android-解决CalledFromWrongThreadE

2022-04-18  本文已影响0人  阿博聊编程
配图来自网络,如侵必删

最近在编写App的时候,遇到了CalledFromWrongThreadException异常,分享一个我的解决思路,希望对看文章的小伙伴有所启发。

错误全文

android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.

翻译:只有创建视图层次结构的原始线程才能触摸其视图。

出现的原因:子线程不能改变UI,要回到主线程当中修改。

runOnUiThread

我个人是用runOnUiThread解决的,代码示例:

runOnUiThread{
    // 这里写具体的业务代码
}

Handler

我个人看到网上有小伙伴用Handler,我尝试过也是可以的,代码示例:

private val mHandler:Handler = Handler()

fun setUi(){
    mHandler.post {
        // 业务代码
    }
}
上一篇 下一篇

猜你喜欢

热点阅读