Android Mosby MVI-如何重试意图?

Android Mosby MVI-如何重试意图?,android,mosby,Android,Mosby,我正在使用Mosby MVI库开发一个演示应用程序,该应用程序使用Interactor中的Reformation2在Restful API上执行简单的CRUD操作。 我构建的ViewState与示例应用程序中的非常相似,当改型响应错误时包含Throwable。在这种情况下,render()函数会显示一个带有重试按钮的错误屏幕。 单击“重试”按钮时,我希望重新发出失败意图的最后一项 我想在Intent中添加类似于retryWhen()的内容,当然这只会由onError()触发 有没有添加这种行为的

我正在使用Mosby MVI库开发一个演示应用程序,该应用程序使用Interactor中的Reformation2在Restful API上执行简单的CRUD操作。 我构建的ViewState与示例应用程序中的非常相似,当改型响应错误时包含Throwable。在这种情况下,
render()
函数会显示一个带有重试按钮的错误屏幕。 单击“重试”按钮时,我希望重新发出失败意图的最后一项

我想在Intent中添加类似于
retryWhen()
的内容,当然这只会由
onError()
触发


有没有添加这种行为的简单方法?

事实上,我自己使用
combineLatest()
解决了这个问题。 retrySubject不需要知道前面意图的内容

class MyViewActivity extends MviActivity<MyView, MyViewState> implements MyView {
  PublishSubject<Boolean> retrySubject =  ... ; // fires on retry Button click
  ...

  @Override
  public Observable<String> searchIntent(){
    Observable<String> searchObservable =   RxSearchView.queryTextChanges(searchView);
    return Observable.combineLatest(searchObservable,retrySubject(searchString, retryClicked) -> searchString);
  }
}
请同时查看@socketqwe的答案,网址为

@Override
  protected void onStart() {
    super.onStart();
    retrySubject.onNext(true);
}