启动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控件的显示数据





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值