当前线程必须有一个循环器

The current thread must have a looper

在这里,我试图在特定时间段内添加 main_layout 的视图,为此我写了这个

main_layout.addView(linearLayout)
 Handler(Looper.getMainLooper()).post(Runnable {
        val timer = Timer()
        timer.schedule(object : TimerTask() {
            override fun run() {
                main_layout.removeView(imageView)
                timer.cancel()
            }
        }, 8000)
    })

但应用程序因错误而崩溃:

java.lang.IllegalStateException: The current thread must have a looper!

请告诉我,我还需要在这里做什么。

我已经通过在处理程序中使用 HandleMessage() 方法解决了我的问题。

mainHandler = object :Handler(){
            override fun handleMessage(msg: Message?) {
                super.handleMessage(msg)
               if (msg!!.what ==1){
                   removeView()
               }
            }
        }

 private fun removedata() {
    main_layout.removeView(imageView)
}

此外,为了执行所需的操作,此方法发送所需的指令集

mainHandler.sendEmptyMessageDelayed(1,5000)

所以你可以看到要调用 remove(),它需要 1 来满足条件,第二个参数是我想要设置的所需延迟。