在学习java的时候,就遇到接口回调,也经常听到别人说回调回调。。。脑袋里面一直没有点概念。
今天看到一段代码,试着写了一下。有点感觉,打算记录下来。
当自定义一个ListView的控件MyListView,那么如果想要实现上拉加载的时候,我们可以通过写一个回调接口去实现。在重写ListView滑动监听的方法中(这个方法我没有写出来),去调用这个接口的回调方法(listener.onLoad();)。
private OnLoadListener listener;
public interface OnLoadListener{
void onLoad();//回调方法
}
public void setOnLoadListener(OnLoadListener listener) {
this.listener = listener;
}
这个onLoad方法在这里是用来获取新的数据的,所以可以在Activity中实现OnLoadListener,并且重写onLoad()方法。
myListView.setOnLoadListener(new OnLoadListener){ //myListView是自定义View的引用
@Override
public void onLoad(){
//做一些获取数据的操作
}
}
比如说,自定义的MyListView类是一个同学A,Activity类是同学B,同学A有一个问题不知道怎么算,他听说B知道答案(B实现了接口),A同学就通过这个接口的回调(问题)去问B同学,B同学算出了答案(新的数据获取到了),再通知A同学。
以上就是我个人的理解,如果有不正确的地方,请大家能够指点迷津。