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