我遇到以下问题:
我有一个生成和Observable的查询。
fun onQueryTextChange(newText: String?): Boolean {
val disposable = model
.search(newText).
.subscribeOn(workerThreadScheduler)
.observeOn(mainThreadScheduler)
.subscribe(observer)
}
现在,如果再次调用该函数,我想向观察者发出新项目。
请提出任何建议?
答案 0 :(得分:0)
你需要一个支持财产。
private val querySubject:Subject<<String>> = PublishSubject.create()
fun onQueryTextChange(newText: String?): Boolean {
querySubject.onNext(newText)
return true
}
fun queryStream:Observable<String>{
return querySubject
}
现在你有一个函数queryStream
,它将发出所有搜索文本而不会关闭。
你可以这样使用:
val disposable = queryStream.flatMap(model.search(newText))
.subscribeOn(workerThreadScheduler)
.observeOn(mainThreadScheduler)
.subscribe(observer)