Android Tolist没有在rxjava中发射
我试图在从edittext获取输入后过滤列表,实际上是过滤列表,但我想将结果分组到列表中 所以我用SingleObserver列出操作符,但结果并没有出现;为什么会这样Android Tolist没有在rxjava中发射,android,rx-java,rx-java2,Android,Rx Java,Rx Java2,我试图在从edittext获取输入后过滤列表,实际上是过滤列表,但我想将结果分组到列表中 所以我用SingleObserver列出操作符,但结果并没有出现;为什么会这样 rxtview.textChangeEvents(searchEdit) .skip(1) .debounce(400,时间单位毫秒) .switchMap(新函数(){ @凌驾 公共可观察应用(TextViewTextChangeEvent TextViewTextChangeEvent)引发异常{ 可观察的返回值。just
rxtview.textChangeEvents(searchEdit)
.skip(1)
.debounce(400,时间单位毫秒)
.switchMap(新函数(){
@凌驾
公共可观察应用(TextViewTextChangeEvent TextViewTextChangeEvent)引发异常{
可观察的返回值。just(variantlist);
}
})
.flatMapIterable(新函数(){
@凌驾
公开名单适用(名单五){
返回v;
}
})
.filter(新谓词(){
@凌驾
公共布尔测试(车辆制造v型){
if(searchEdit.getText().toString().isEmpty())
返回true;
其他的
返回v.getVariant().toLowerCase().trim().contains(searchEdit.getText().toString().toLowerCase().trim());
}
})
.map(新函数(){
@凌驾
public VehicleMakeModel apply(VehicleMakeModel integer)引发异常{
返回整数;
}
})
托利斯先生()
.observeOn(AndroidSchedulers.mainThread())
.subscribe(新的SingleObserver(){
@凌驾
认购的公共无效(一次性d){
}
@凌驾
成功时公共无效(列出车辆制造商型号){
系统输出打印(“测试”);
}
@凌驾
公共无效申报人(可丢弃的e){
}
});代码>关于RxBinding有一个必须记住的事实:事件观察永远不会完成
rxtview.textChangeEvents(searchEdit)
永远不会调用完整的回调,因此toList()
永远不会返回您期望的列表
这不是一个bug,而是RxBinding需要的行为,因为您的textChanges observable将永远不会停止侦听该事件。请修复代码块。您还应该放入错误处理程序,因为如果发生错误,您将不知道它。即使没有错误,我也检查了。是否RxTextView.textChangeEvents(searchEdit)
是否完成?如果未完成,则toList()
将永远不会完成。