我需要在两个活动MainActivity和ChildActivity之间传递一些数据.单击按钮MainActivity应打开ChildActivity并发送包含数据的事件.我有单身人士:
Subject<Object,Object> subject = new SerializedSubject<>(PublishSubject.create());
在MainActivity中我有以下按钮单击处理程序:
public void onClick(){ startActivity(new Intent(MainActivity.this,ChildActivity.class)); subject.onNext(new SomeEvent(data)); }
和ChildActivity中的事件侦听器订阅:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addEventListeners(); } private void addEventListeners() { subject.ofType(SomeEvent.class) .observeOn(AndroidSchedulers.mainThread()) .subscribeOn(Schedulers.io()).subscribe( event -> { loadData(event.getData()); }); }
当我在启动活动后发送事件并在ChildActivity中调用addEventListeners时onCreate仍未订阅此事件且未调用loadData().
使用RxJava在活动之间传递数据的正确方法是什么(如果可能的话)?
@H_404_16@