我有RxSearchView:
RxSearchView.queryTextChanges(searchView)
.filter(charSequence -> !TextUtils.isEmpty(charSequence))
.debounce(600, TimeUnit.MILLISECONDS)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(query -> {
Toast.makeText(this, query, Toast.LENGTH_SHORT).show();
});
当我搜索单词test
时,Toast
会向我显示test
,之后我想使用退格键清除搜索文本,问题是{{1}中搜索为空{1}}会显示文字Toast
。
如何解决这个问题?
我尝试使用t
,但这也不起作用,在这种情况下,.filter(item -> item.length() > 1)
会显示文字Toast
答案 0 :(得分:0)
问题依此存在。
debounce
必须在filter
这将有效:
RxSearchView.queryTextChanges(searchView)
.debounce(600, TimeUnit.MILLISECONDS)
.filter(charSequence -> !TextUtils.isEmpty(charSequence))
.observeOn(AndroidSchedulers.mainThread())
.subscribe(query -> {
Toast.makeText(this, query, Toast.LENGTH_SHORT).show();
});