Android 通过接口传值
接口传值简单了说,就是在需要传值的那方定义接口,在接收数据的那方实现接口,数据就在需要实现的那个方法里,千万记住传值方的Listener一定是接收数据方的Listener。
第一步:定义接口类:
public interface Listener {
void send(String s);
}
第二步:传递类发送数据:
public class Data {
public Listener mListener;//接口
public Data(Listener mListener) {
this.mListener = mListener;
}
public void sends(){
mListener.send("越努力越成功,越聚贵人!");//开始发送数据
}
}
第三步:接受类接收数据:
public class MainActivity extends Activity implements Listener{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Data data = new Data(this);//实例化data类
data.sends();//启动发送
}
@Override
public void send(String s) {
Log.e("tag: ",s);
}
}
案例(一)
public interface CallBack {
void doSomeThing(String string);
}
public class CallBackUtils {
private static CallBack mCallBack;
//方式1
public static void setCallBack(CallBack callBack) {
mCallBack = callBack;
}
//方式2 直接把CallBack 当参数传入,
// 在需要使用的时候直接传入,然后调用接口方法就可以了。
// 避免了,忘记在调用的类中setCallBack(set值)
public static void doCallBackMethod(CallBack callBack){
String info = "这里CallBackUtils即将发送的数据。";
callBack.doSomeThing(info);
}