Android 如何正确地将withIndex与takeUntil、forEachWhile和RxJava一起使用?

Android 如何正确地将withIndex与takeUntil、forEachWhile和RxJava一起使用?,android,rx-java2,iterable,takeuntil,Android,Rx Java2,Iterable,Takeuntil,在我的表达式中,即使takeUntil为true/false,subscribe方法也会发出所有列表项,一旦takeUntil为true就应该停止,对吗 可观察的。来自ITerableCountryResponseList.withIndex .subscribeOnSchedulers.io .observeOnSchedulers.io .takeUntilindex,item->item.getId==currentCountryCodeId .subscribeindex,项目->运行{

在我的表达式中,即使takeUntil为true/false,subscribe方法也会发出所有列表项,一旦takeUntil为true就应该停止,对吗

可观察的。来自ITerableCountryResponseList.withIndex .subscribeOnSchedulers.io .observeOnSchedulers.io .takeUntilindex,item->item.getId==currentCountryCodeId .subscribeindex,项目->运行{ Log.ditems和index,${item}和${index} }
我需要的是获取当前索引,当表达式相互匹配item.getId==currentCountryCodeId,并且RxJava表达式应该停止继续时。我不知道怎么做,谢谢你的帮助。我还发现了forEachWhile,这是否适合这种情况?

我不确定您是否要停止迭代countryResponseList.withIndex。如果是这样,那么上游应该与takeUntil在同一线程上运行

希望就是你想要的。如果没有,请更详细地描述

Observable.fromIterable(countryResponseList.withIndex())
  .takeUntil((index,item) -> item.getId() == currentCountryCodeId)
  .subscribeOn(Schedulers.io())
  .observeOn(Schedulers.io())
  .subscribe((index,item) -> run{
     Log.d("items and index", " ${item} and ${index}")
  })
TakeTill只接受一个参数,如何传递索引和项?你确定这段代码可以编译吗?