interface 回调函数--实现子线程类对主线程类界面的控制

来源:互联网 发布:条形码数据库关联 编辑:程序博客网 时间:2024/06/03 14:52

实现子线程对主线程界面的控制方法有两种方法:

1、主界面线程建立消息处理机制,然后调用子线程(传递主线程消息处理句柄Handler)进行事务处理,事务处理完成后,通过主线程的消息Handler发送消息给主线程,由主线程控制界面。

2、主线程调用子线程,并通过在子线程中调用主线程的回调函数来实现,方法如下:

一、子线程类定义接口并将该接口设置为该类的私有成员

public class UpdateManager {//设置该接口类型的私有成员private UpdateCallback callback;//接口定义,public interface UpdateCallback {public void updateProgress(int progress);}}

二、主线程类实现接口,有两种方法

方法一:通过类继承(实现)接口的方式

public class MainActivity extends Activity implements UpdateManager.UpdateCallback{ //接口内函数的实现 public void updateProgress(int progress){   //进行进度条更新处理 }}

方法二:通过new 一个接口实现方式:

UpdateManager.UpdateCallback appUpdateCb = new UpdateManager.UpdateCallback() {public void updateProgress(int progress) {//进行进度条更新处理}}

三、主线程调用子线程,子线程进行事务处理,完成后,调用接口实现对主界面的更新