Android接口回调

需求

用户点击按钮,触发执行耗时操作。程序开启子线程,然后在子线程中执行耗时操作。当耗时操作执行完毕后,执行回调函数通知界面,修改界面内容。

实现过程

1.定义接口

public interface ProjectListCallBack {
    // 创建一个公共方法,并设定传递参数类型
    void getListData(ArrayList projectArrayList);
}

2.设置回调接口,事件触发的地方

// 1.接口回调
public ProjectListCallBack mProjectListCallBack;

// 2.实现接口的Set方法
public void setProjectListCallBack(ProjectListCallBack projectListCallBack) {
    this.mProjectListCallBack = projectListCallBack;
}
public void selectProjectList() {
    // 3.给接口的方法内的参数赋值
    if (mProjectListCallBack != null) {
        mProjectListCallBack.getListData(projectArrayList);
    }
}

3.回调接口,实现接口内容的地方写

// 4.实现接口
public class ProjectActivity implements ProjectListCallBack{
    protected void onCreate(Bundle savedInstanceState) {
      ...
      // 5.实例化,由于我在设置回调的代码中写了单例,所有不需要new对象
      ProjectBaseHelper.getsInstance(this).setProjectListCallBack(this);
    }
}

// 6.实现回调接口
 @Override
 public void getListData(ArrayList projectArrayList) {
    ...
}

你可能感兴趣的:(Android接口回调)