UI 只能在主线程内更新,子线程需要更新UI组件时可以这样:

    fun fuck(){
Executors.newSingleThreadExecutor().execute{
// url request ...
val visibility = View.VISIBLE Handler(mainLooper).post {
val btn = findViewById<Button>(R.id.button)
btn.visibility = visibility
}
} Thread{
println("hi there")
Handler(Looper.getMainLooper()).post{
val btn = findViewById<Button>(R.id.button)
}
}.start()
}

android kotlin 子线程中调用界面UI组件崩溃的更多相关文章

  1. Android 在子线程中更新UI

    今天在做练习时,在一个新开启的线程中调用“Toast.makeText(MainActivity.this, "登陆成功",Toast.LENGTH_SHORT).show();” ...

  2. Android--Handler的用法:在子线程中更新界面

    本文主要介绍Android的Handler的用法.Handler能够发送Messsage和Runnable对象到与其相关联的线程的消息队列. 每一个Handler对象与创建它的线程相关联.而且每一个H ...

  3. 子线程中刷新了UI

    This application is modifying the autolayout engine from a background thread, which can lead to engi ...

  4. Android在子线程中更新UI(二)

    MainActivity如下: package cc.testui2; import android.os.Bundle; import android.view.View; import andro ...

  5. (转)Android在子线程中更新Activity中UI的方法

    转:http://blog.sina.com.cn/s/blog_3fe961ae0100mvc5.html 在Android平台下,进行多线程编程时,经常需要在主线程之外的一个单独的线程中进行某些处 ...

  6. Android在子线程中更新UI(一)

    MainActivity如下: package cc.testui1; import android.os.Bundle; import android.os.Handler; import andr ...

  7. EXC_BAD_ACCESS(code=2,address=0xcc 异常解决 及 建议不要在子线程中刷新界面

    iOS 上不建议在非主线程进行UI操作,在非主线程进行UI操作有很大几率会导致程序崩溃,或者出现预期之外的效果. 我开始不知道这一点,在子线程中进行了弹窗操作,结果程序就出问题了! 报的错误是(EXC ...

  8. 子线程中如何修改ui界面

    1.Android进程 一个应用程序被启动时,系统默认创建执行一个叫做"main"的线程.这个线程也是你的应用与界面工具包(android.widget和android.view包 ...

  9. Android 在子线程中更新UI的几种方法

    第一种: new Handler(context.getMainLooper()).post(new Runnable() { @Override public void run() { // 在这里 ...

随机推荐

  1. SpringBoot时代背景

    微服务 James Lewis Martin Fowler 2014年提出微服务完整概念,https://martinfowler.com/microservices/ In short, the m ...

  2. (Ooencv3)颜色空间转换

    (Ooencv3)颜色空间转换 opencv中有多种色彩空间,包括 RGB.HSI.HSL.HSV.HSB.YCrCb.CIE XYZ.CIE Lab8种,使用中经常要遇到色彩空间的转化,以便生成ma ...

  3. 手写RPC

    服务端代码 package com.peiyu.rpcs.bios; import java.io.IOException; public interface IRpcServers { void s ...

  4. S7-200通过以太网模块,使用kepware与ifix建立通讯连接要点

    在前阵子项目改造中,需要利用先前的S7-200 PLC与ifix进行通讯,故而,在做好上位机后,在现场实际测试了下.通过CP243-1以太网模块,顺利与KEPWARE建立连接,其中当然也有些要点要注意 ...

  5. ts踩坑笔记

    1.react中 this.el 报错 Property 'el' does not exist on type,添加el: any; 2.使用window.xx编译总是报错,用下面方法解决 let ...

  6. Bootstrap Blazor 更新版本 5.6.0

    Bootstrap Blazor 是一款基于 Bootstrap 的 企业级 Blazor UI 组件库,目前内置近 90 个组件,欢迎大家尝试使用.本次更新全面升级支持 Bootstrap V5.6 ...

  7. Docker入门第一章

    Docker为什么出现? 一款产品:开发到上线 两套环境!应用环境,应用配置! 可能在开发环境你的产品是正常的,但是到了线上环境你的产品可能就会出现各种原因,或许是因为环境的不同,也可能是因为配置的不 ...

  8. python数据统计之禅道bug统计

    背景 通过定期输出 每条产品的 BUG 情况,以此来反馈开发解决问题.测试跟进问题的情况:钉钉群推送提醒开发及时解决 以此我这边开始着手准备编写一个小工具,最终达到目的:自动定期发送统计报告,报告维度 ...

  9. Recuva ——天下第一的删除恢复应用

    天下第一的删除恢复应用 下载地址    http://www.onlinedown.net/soft/66224.htm   实名diss那个垃圾  易得恢复  98一年,真是趁火打劫(跟个老鼠一样, ...

  10. noip21

    所以分差到底要不要取绝对值啊 T1 3分钟出暴力,十分钟码好,然后样例过不去... 好吧,我是sb,求中位数之前是要排序的. 直接冲暴力,50pts. \(w=3\) 的点,开个桶记录一下又有20pt ...