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

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()
    }
原文地址:https://www.cnblogs.com/hangj/p/13771881.html