在“ BehaviorSubject”的“ subcribe”中,接收“ ArrayList”作为处理数据的参数。 如果您尝试将接受的数据传递到Intent中并完成它,则该应用程序将停止。 有什么问题吗?
subject(requestData)
.map(r->arrayList = r.getArrayList())
.observeOn(Android.Schedulers.mainThread())
.subscribe(r->{ finishWithData(r)});
private void finishWithData(r) {
Intent intent = new Intent();
intent.putExtra("array", r);
setResult(Activity.RESULT_OK, intent);
finish() // Here is Crash Point.
}
答案 0 :(得分:0)
我建议从Disposable
获取BehaviorSubject
并将其放置在“活动”的onDestroy
中。
Disposable disposable;
disposable = subject(requestData)
.map(r->arrayList = r.getArrayList())
.observeOn(Android.Schedulers.mainThread())
.subscribe(r->{ finishWithData(r)});
@Override
protected void onDestroy() {
disposable.dispose();
super.onDestroy();
}