在这里,我试图在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: 当前线程必须有一个循环器!请告诉我,我还需要做什么?
请告诉我,我还需要做什么。
我已经解决了我的问题,通过使用 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才能满足条件,第二个参数是我想要设置的延迟。