重新订阅Android片段中的Observable
RxJava/Android新手,想知道在片段中的哪里放置订阅者 类似于以下代码的内容现在放在片段的重新订阅Android片段中的Observable,android,fragment,rx-java,rx-android,Android,Fragment,Rx Java,Rx Android,RxJava/Android新手,想知道在片段中的哪里放置订阅者 类似于以下代码的内容现在放在片段的onCreate中onNext。它会多次重新加载接收到的数据,只需执行一次。正确的处理方法是什么 如果我取消订阅,当再次返回(导航到某个活动后)到此片段时,在何处以及如何重新订阅以侦听新数据 Some.replaySubject .subscribeOn(Schedulers.newThread()) .obse
onCreate
中<当接收到不需要的新数据时,会多次调用code>onNext。它会多次重新加载接收到的数据,只需执行一次。正确的处理方法是什么
如果我取消订阅,当再次返回(导航到某个活动后)到此片段时,在何处以及如何重新订阅以侦听新数据
Some.replaySubject
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<Status>() {
@Override
public void onNext(Status status) {
switch (status) {
case NotLoaded:
...
break;
case Loading:
showSpinner();
break;
case Background_Loading:
...
break;
case Complete:
reloadData();
Some.replaySubject
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.订阅(新观察员){
@凌驾
public void onNext(状态){
开关(状态){
案例未加载:
...
打破
箱子装载:
showSpinner();
打破
案例背景信息加载:
...
打破
案例完成:
重新加载数据();
使用take 1。可观察到的在第一次发射后完成
您只能发射由可观测对象发射的前n项,然后
通过修改可观察对象,在忽略其余部分的情况下完成
与接线员联系
Some.replaySubject
.采取(1)
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.订阅(新观察员){
@凌驾
public void onNext(状态){
开关(状态){
案例未加载:
...
打破
箱子装载:
showSpinner();
打破
案例背景信息加载:
...
打破
案例完成:
重新加载数据();
若要重新订阅,请将此rx链放在onStart?onResume?中生命周期回调将重新初始化它的某个位置。在存储中处置它
Some.replaySubject
.take(1)
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<Status>() {
@Override
public void onNext(Status status) {
switch (status) {
case NotLoaded:
...
break;
case Loading:
showSpinner();
break;
case Background_Loading:
...
break;
case Complete:
reloadData();