回调笔记
程序员文章站
2022-06-07 10:18:21
...
理解
在A类中定义了一个方法,这个方法中用到了一个接口和该接口中的抽象方法,但是抽象方法没有具体的实现,需要B类取实现,B类实现该方法后,它本身不会去调用该方法,而是传递给A类,供A去调用。
生命周期里的函数也是算回调的,还有那个Thread线程重写run方法也是算回调
我现在在主界面想发送一条消息,用到了发送消息的类,主界面有一个发送成功的提示,但我们不知道发送消息什么时候成功,所以我把自己的成功的函数在发送类里面调用,发送完成之后调用我的发送成功。但如果有需要UI线程的操作就得另处理了。本质:让自身的方法或属性在合适的时候运行
一个简单的回调
-
建立公用接口
public interface Callback() { public void callbackMethod(String msg); }
-
使用回调
public class A() { public void test(Callback myCallback){ doSomething(); myCallback.callbackMethod("test"); } public void doSomething(){ } }
-
实现回调
对于一个实现了回调的类来说就可以实例化一个A类,将回调实现后把自己传进A就好了
public void start() { T view = mView; if (view != null){ view.showLoading(); } }
下一篇: 回调函数