启动Thread、调用Handler

本文例子要完成下述操作:

step1: 点击一个button按键,启动一个耗时的子线程;

step2: 子线程中完成耗时操作后,通过调用handler将其内的参数传出;

step3: handler的消息处理函数将子线程传出的数据修改到TextView控件中。

参考MARS教程重制版第二季。


重要的知识点:

1. 耗时或会产生阻塞的操作要放到子线程(worker thread)中;

2. 子线程内的处理程序不能直接修改控件,修改控件只能在主线程(main thread)中;

3. 如何启动子线程(详见button控件的监听器);

4. 如何定义handler,以及通过handler发送消息、传递参数(详见子线程处理程序);

5. handler如何处理消息(详见handler实现类中的handleMessage方法)。


1. 设置button监听器并绑定,在其中启动子线程:



2. 编写子线程实现类,在其中处理耗时操作,然后调用handler传递参数、发送消息:



3.  在第二步之前要定义handler实现类,并创建该类的对象,如上的handler


在handler的实现类中,实现hanleMessge方法,处理子线程发送的消息,如本例中设置TextView控件的显示数据





阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭