主,程序是通过接口实现的调用,被调用的module可以通过接口向主module中传值,但我想知道如何从主module中向那个被调用的module中传一个字符串数据?
如果是普通class,被调用的module写个方法,主module调用方法传值;
如果是activity、fragment,用事件总线EventBus、RxBus等
关于问题描述可以再详细一点或者其他辅助描述?
简单提供一个,子module和父module相互回调的方案。
子module中实现桥接接口用来让子module传递value给主module使用。入参为value 和 一个可以回调的CallBack接口。然后在CallBack接口定义一个可以回调方法 void call(String value, CallBack callBack)。这样就可以实现。子module和主module相互传递值。
package callback;
public class MutiCallBack {
public static void main(String[] args) {
CallBackMain main=new CallBackMain();
main.mainSubBridge.bridge(new CallBack() {
@Override
public void call(String value, CallBack callBack) {
System.out.println(value);
callBack.call("父类回调",null);
}
});
}
}
package callback;
public interface MainSubBridge {
void bridge(CallBack callBack);
}
package callback;
public class CallBackSub implements MainSubBridge {
@Override
public void bridge(CallBack callBack) {
callBack.call("我是子Mudule", new CallBack() {
@Override
public void call(String value, CallBack callBack) {
System.out.println(value);
}
});
}
}
package callback;
public class CallBackMain {
MainSubBridge mainSubBridge;
public CallBackMain(){
mainSubBridge=new CallBackSub();
}
}
package callback;
public interface CallBack {
void call(String value,CallBack callBack);
}
最终输出 :
我是子Mudule
父类回调
Process finished with exit code 0