我们在开发的时候经常会用到callback,大家可能没这么在意,就比如
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//你的代码
}
有或者btn_forget.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
}
});
这些都是Callback的具体实现,下面我们来好好讲解下:
callback其实就是我们在A类中的一个B方法的一个在外部实现的方法
①首先在A类外面创建一个类就叫他LoginCallback.java,在这个类中我们定义一个变量类success,然后实现我们写的这个success类,注意这个类必须是接口类,然后给这个类一个对外的暴露方法setSuccess()
public class LoginCallback{
private Success success;
public interface Success{
public abstract void doSuccess();
}
public void setSuccess(Success success) {
this.success = success;
}
public void dosometing(){
success.doSuccess();
}
}
②接下来我们就可以在A方法中声明B方法。也就是我们的例子LoginCallback,然后在oncreate()方法中就可以调用我们的回调方法了
private LoginCallback mCallback;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mCallback.setSuccess(new Success() {
@Override
public void doSuccess() {
// TODO Auto-generated method stub
//对回调方法进行操作
}
});
}
就这样我们就可以实现一个回调方法了。
这边附上一个我之前写的另一种类型的回调的源码,很简单,大家看看就懂的。
http://download.csdn.net/detail/iblue007/9064321
大家也可以看看这篇的博文。讲的言简意赅
http://m.blog.csdn.net/blog/han1202012/16887509