handler 与Thread 的组合在程序中应用很广,在此稍微记录一下:
首先先创建 一个thread 与 handler:
private var thread :Thread? = null
private var handler :Handler =object : Handler(){ //此处的object 要加,否则无法重写 handlerMessage
override fun handleMessage(msg: Message?) {
super.handleMessage(msg)
if(msg?.what == 0){
Toast.makeText(applicationContext,"子线程消息",Toast.LENGTH_LONG).show()
}
}
}
创建子线程:
private fun myTherad(){ thread = Thread(Runnable { kotlin.run { var message = Message() message.what = 0 handler.sendMessage(message) } }) }
在主线程调用:myTherad() thread?.start()