程序中Handler
时间: 2024-05-19 12:10:30 浏览: 12
在Android开发中,Handler是一个很常用的类。可以用来处理线程之间的通信和消息传递。 通常情况下,我们可以通过以下两种方式创建一个Handler的子类:
1. 创建一个继承自Handler的内部类,可以是具名的内部类或匿名内部类。然后重写handleMessage()方法,通过switch语句处理消息。例如:
```
class MHandler extends Handler {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case 1:
textView.setText(msg.obj.toString());
break;
default:
break;
}
}
}
```
2. 另一种方式是在子线程中创建一个Runnable对象,并使用Handler的post()方法发送该Runnable对象。这种方式不需要重写handleMessage()方法。例如:
```
new Thread() {
@Override
public void run() {
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
mHandler.post(new Runnable() {
@Override
public void run() {
mTextView.setText("得到了某网站返回的数据,并更新了UI");
}
});
}
}.start();
```
通过调用post()方法发送Runnable对象,可以在子线程中更新UI。这种方式常用于在子线程中执行耗时操作,然后在主线程中更新UI。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [对Handler的理解以及使用](https://blog.csdn.net/pengbo6665631/article/details/80473062)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)