Android 接口回调机制

在android 中回调机制被大量使用。

比如,在Activity中定义了很多生命周期的不同状态要调用的方法,这些方法都是空实现,系统框架要调用,用户也要调用来实现。或者更直接的是按键点击的实现方法。


loginButton.setOnClickListener(new OnClickListener() {
 
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
 
}
});

 

明显,OnClickListener就是android 系统所约定好的接口,然后我们写的应用程序就是客户端,android 系统就是服务端。模型关系如下图所示:

以上可以看出,接口(系统框架)是系统提供的,接口的实现是用户实现的,这样可以达到接口统一,实现不同的效果。

系统在不同的状态“回调”我们的实现类,来达到接口和实现的分类。

 

example:  

类A   类B

在类A :

public interface RemoveListener{

    onRemove(BaseModel model);

}

声明接口变量:

private RemoveListener callback;

提供注册的方法 set

public void setListener(RemoveListener listener){

   callback=listener

}

当满足一定情况 触发回调

listener.onRemove(item);

在类B:

向类A注册

B b=new B();

b.setListener(listener);

b.RemoveListener listener=new b.RemoveListener(

   onRemove(BaseMode mode){

       doSomething();

   }

);

 

你可能感兴趣的:(接口回调,Android,必备技能)