您的位置:首页 > 移动开发 > Android开发

Java/Android 关于回调的通俗理解

2018-03-12 22:52 211 查看
回调,我的理解就是:

A在这里调用B中方法

B中那个方法的参数是A中实现了B中接口的对象

B中方法使用上面的对象

这样B中需要A做的逻辑就由对象又重新调用回去了

看起来,不好理解。看下面代码就好了。

被调用者B:

public class Person {
AI mListener;
...

// 接口,实现此接口的对象作为参数,传给下面的fun方法.
// 方法里面再调用SwitchStateChanged,即相当于
// 1.执行了对象里面的override的方法
// 2.把参数(数据)传到对象那里
public interface AI{
void override_fun(String str);
}

public void fun(AI listener) {
this.mListener = listener;
}

mListener.override_fun("B中的数据");//传数据,更新UI之类的
...
}


调用者A:

Person p = new Person();
p.fun(new B.AI() {
@Override
public void override_fun(str) {
Log.d("TAG",str);
});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: