大家好,我是kervin2,关于我写的博客有不明白之处欢迎qq讨论:1991861807
今天是2017年1月2号祝愿所有看过此篇博客的同学新年快乐。
言归正传 我接触Android有半年左右,在Android不免有些传值问题 其中大部分都是用接口回调来实现的,对于接口回调我也是懵懵懂懂 只是知道谁声明谁传递 谁实现谁接受,然而最近接触了很多新知识(RecyclerView的自定义点击,Mvp模式,EventBus等等)使我不得不弄明白接口回调。
直接上代码加讲解:
第一步:先声明接口 方法的参数类型是你想要传递数据的类型
public interface CallBackText {
void setString(String data);
}
第二步:创建一个类 让该类与你想要传值的类建立关系,在该类中我在构造方法中调用方法传的值
public class Kervin {
private CallBackText callBackText;
public Kervin(CallBackText callBackText) {
this.callBackText = callBackText;
//设置要传的数据
callBackText.setString("Kervin");
}
}
最后一步:实现该接口并且声明第二步所创建类的对象,对象的参数即为该接口
public class MainActivity extends AppCompatActivity implements CallBackText {
private TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv = (TextView) findViewById(R.id.tv);
init();
}
private void init() {
Kervin kervin = new Kervin(this);
}
@Override
public void setString(String data) {
tv.setText(data);
}
}