Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Tolist没有在rxjava中发射_Android_Rx Java_Rx Java2 - Fatal编程技术网

Android Tolist没有在rxjava中发射

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

我试图在从edittext获取输入后过滤列表,实际上是过滤列表,但我想将结果分组到列表中

所以我用SingleObserver列出操作符,但结果并没有出现;为什么会这样

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()
将永远不会完成。