android kotlin 子线程中调用界面UI组件崩溃

时间:2023-05-05 22:24:26

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()
}