回调方法是把功能定义和功能实现分离的一种手段,是一种松耦合的设计思想。
Android中的控件响应就是利用了回调方法。话不多说,直接上代码。
回调方法的接口:
- publicinterfaceICallBack{
- //回调方法
- publicvoidcallBackMethod();
- }
回调方法的实现类(监听类):
- /**
- *监听类
- *@authorzuolongsnail
- */
- publicclassCallBackListenerimplementsICallBack{
- @Override
- publicvoidcallBackMethod(){
- System.out.println("回调");
- }
- }
回调方法的调用类:
- /**
- *调用类
- *@authorzuolongsnail
- */
- publicclassCaller{
- privateICallBackcallBack;
- publicvoidsetCallBack(ICallBackcallBack){
- this.callBack=callBack;
- }
- publicvoidcall(){
- this.callBack.callBackMethod();
- }
- }
业务处理类:
- /**
- *业务处理类
- *@authorzuolongsnail
- */
- publicclassMain{
- publicstaticvoidmain(String[]args){
- Callercaller=newCaller();
- caller.setCallBack(newCallBackListener());
- //在业务处理的时候调用
- caller.call();
- }
- }
熟悉Android中Button点击事件处理的同学应该都知道跟上面是一样的。
ICallBack------->OnClickListener接口
CallBackListener--------->实现OnClickListener接口的类
Caller-------->Button对象
Main-------->业务处理类(Activity)
回调方法是把功能定义和功能实现分离的一种手段,是一种松耦合的设计思想。
Android中的控件响应就是利用了回调方法。话不多说,直接上代码。
回调方法的接口:
- publicinterfaceICallBack{
- //回调方法
- publicvoidcallBackMethod();
- }
回调方法的实现类(监听类):
- /**
- *监听类
- *@authorzuolongsnail
- */
- publicclassCallBackListenerimplementsICallBack{
- @Override
- publicvoidcallBackMethod(){
- System.out.println("回调");
- }
- }
回调方法的调用类:
- /**
- *调用类
- *@authorzuolongsnail
- */
- publicclassCaller{
- privateICallBackcallBack;
- publicvoidsetCallBack(ICallBackcallBack){
- this.callBack=callBack;
- }
- publicvoidcall(){
- this.callBack.callBackMethod();
- }
- }
业务处理类:
- /**
- *业务处理类
- *@authorzuolongsnail
- */
- publicclassMain{
- publicstaticvoidmain(String[]args){
- Callercaller=newCaller();
- caller.setCallBack(newCallBackListener());
- //在业务处理的时候调用
- caller.call();
- }
- }
熟悉Android中Button点击事件处理的同学应该都知道跟上面是一样的。
ICallBack------->OnClickListener接口
CallBackListener--------->实现OnClickListener接口的类
Caller-------->Button对象
Main-------->业务处理类(Activity)