美文网首页
Android-解决CalledFromWrongThreadE

Android-解决CalledFromWrongThreadE

作者: 阿博聊编程 | 来源:发表于2022-04-18 14:50 被阅读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 {
        // 业务代码
    }
}

相关文章

网友评论

      本文标题:Android-解决CalledFromWrongThreadE

      本文链接:https://www.haomeiwen.com/subject/tredertx.html