在程序中我们经常会用到回调,比如当你在使用RecyclerView这样的控件控件时,如果在对控件的某一个item进行监听时,如果想修改RecyclerView所在的主页面的某个控件值时,如果不使用回调,你将需要将需要修改的控件传过来,进行修改,那么如何在不传控件的情况下,就将控件内容修改了呢,这就需要使用到回调。
实例分析
在这个界面中,上半部分是Activity界面(白色部分),下半部分是Fragemnt界面(蓝色部分),在fragment界面在我点击按钮后,进行回调,将edittext传到activity,修改activity中的textview。
实现原理:
1.在需要回调的类中添加接口,当然也可以定义在类外部
2.接口中药定义一个方法,及用于回调的方法
3.在需要回调的类中,使用到接口对象,调用接口中的方法(在这时,接口中的方法会被执行,可是接口中的方法没有方法体,所以实现该接口,并复写该方法的方法会得到执行,所以我们只要在需要回调后执行的地方实现该方法就可以了)
4.在需要被回调的地方使用匿名内部类实现接口,复写方法。
这里我画了一个图,希望对你的理解有所帮助(开始看可能有点懵,等