kotlin使用Handler中调用Handler
时间: 2023-08-10 19:35:25 浏览: 178
在Kotlin中,使用Handler调用另一个Handler有两种方法:
方法1:使用post方法
您可以使用post方法将Runnable对象发送到目标Handler的消息队列中,以便在稍后的时间执行。这可以通过以下方式完成:
```kotlin
val handler1 = Handler(Looper.getMainLooper()) // 创建第一个Handler
val handler2 = Handler() // 创建第二个Handler
handler1.post(object : Runnable {
override fun run() {
// 在第一个Handler线程中执行
handler2.post(object : Runnable {
override fun run() {
// 在第二个Handler线程中执行
}
})
}
})
```
在这个例子中,我们创建了两个Handler。在第一个Handler的线程中,我们使用post方法将一个Runnable对象发送到第二个Handler的消息队列中,以便在稍后的时间执行。
方法2:使用sendMessage方法
您还可以使用sendMessage方法将Message对象发送到目标Handler的消息队列中,以便在稍后的时间执行。这可以通过以下方式完成:
```kotlin
val handler1 = Handler(Looper.getMainLooper()) // 创建第一个Handler
val handler2 = Handler() // 创建第二个Handler
handler1.sendMessage(Message.obtain(handler2, object : Runnable {
override fun run() {
// 在第二个Handler线程中执行
}
}))
```
在这个例子中,我们创建了两个Handler。在第一个Handler的线程中,我们使用sendMessage方法将一个Message对象发送到第二个Handler的消息队列中,以便在稍后的时间执行。
请注意,这两种方法都可以在Kotlin中使用。您可以根据自己的需要选择其中一种方法。
阅读全文