Handler消息传递示例
时间: 2023-07-07 22:36:11 浏览: 85
以下是一个简单的 Handler 消息传递示例:
```java
// 在主线程中创建 Handler
Handler handler = new Handler(Looper.getMainLooper()) {
@Override
public void handleMessage(Message msg) {
// 处理消息
switch (msg.what) {
case 1:
// 更新 UI
textView.setText("Hello World!");
break;
case 2:
// 执行耗时任务
// ...
// 发送消息到主线程更新 UI
handler.sendEmptyMessage(1);
break;
default:
break;
}
}
};
// 在子线程中发送消息
new Thread(new Runnable() {
@Override
public void run() {
// 执行耗时任务
// ...
// 发送消息到主线程更新 UI
handler.sendEmptyMessage(1);
}
}).start();
```
在这个示例中,我们在主线程中创建了一个 Handler,然后在子线程中执行耗时任务,并通过 Handler 发送消息到主线程更新 UI。Handler 处理消息的方法是 `handleMessage()`,其中 `msg.what` 表示消息的类型,可以根据不同的类型执行不同的操作。在处理完消息后,我们可以通过 `handler.sendEmptyMessage()` 方法向 Handler 发送另一条消息,从而实现多个消息的传递。
阅读全文