记录一个简单的callback回调使用方法


有时我们需要在一个类中使用另一个类的方法,并且又不希望把变量全部搞成全局的,那么这时候最简单的就是使用一个callback回调来实现。

步骤:

声明callback -》 声明接口 -》传递callback -》调用callback -》在调用处实现callback具体方法

首先,我们在需要调用方法的类中,写一个callback接口

private Callback callback; 声明

public interface Callback {

void click(View v);

}

这里实现的是一个点击事件叫click() 传递的是view

然后在实例化类的时候,将这个callback传进来

public MyAdapter(Callback callback) {this.callback = callback;}

接着,我们在需要使用该方法的时候,用callback代替

private class Click implements View.OnClickListener {

@Override

public void onClick(View view) {

callback.click(view);

}

}

这样就实现了在MyAdapter中使用其他类中的方法的条件。

最后,我们需要在调用MyAdapter的地方真正的实现这个类的具体方法。

MyAdapter.Callback mcallback = new MyAdapter.Callback() {

@Override

public void click(View v) {

//具体实现方法

}

};

实现以后将callback传入adapter即可