您的位置:首页 > 其它

接口回调

2016-07-15 15:47 274 查看
以前学习不认真,接口回调每次都用得云里雾里的,今天好好的梳理了下。接口回调使用的时候很简单,比如常用到的button.setOnClickListener(new onclicklistener(){

void onclick(){}});就是一个来自于android.view.View.OnClickListener类的接口回调事件。使用分三步走

public class ContextFragment4 extends Fragment{
private TextView text;
private oncallBack  oncallBack;
private String str;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view=inflater.inflate(R.layout.contextfragment4, container, false);
text=	(TextView) view.findViewById(R.id.text);
oncallBack.callBack();
text.setText(str);
return view;

}

public String getStr() {
return str;
}

public void setStr(String str) {
this.str = str;
}

public void  setonCallBackListener(oncallBack cBack) {
this.oncallBack=cBack;
}
public interface oncallBack{
void callBack();
}
}
创建一个双方约定的接口oncallBack的接口,接口定义了一个callback()的方法供调用,这里我提供了一个setoncallBackListener的方法来设置接口,其实也可以用其他方法,无非就是将我们自己定义的private oncallBack oncallBack;这个oncallBack变量给赋值,赋值完毕后我们就可以在ContextFragment4 类需要的地方使用oncallBack.callBack();而这个方法的具体实现是在
<span style="white-space:pre">				</span>c4=new ContextFragment4();
c4.setonCallBackListener(new oncallBack() {
@Override
public void callBack() {
c4.setStr("我来自于activity的消息");
}
});


里面进行定义的,我理解的就是我在A类中定义怎么做,在B类中定义什么时候做这件事。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: