用退格键清理后的 RxSearchView
RxSearchView after cleaning with backspace
我有 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
,之后我想使用退格键清除搜索文本,问题是当搜索为空时Toast
与文本 t
.
一起出现
如何解决这个问题?
我试图使用 .filter(item -> item.length() > 1)
但这也不起作用,在那种情况下 Toast
与文本 te
一起出现
顺序问题。
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();
});
我有 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
,之后我想使用退格键清除搜索文本,问题是当搜索为空时Toast
与文本 t
.
如何解决这个问题?
我试图使用 .filter(item -> item.length() > 1)
但这也不起作用,在那种情况下 Toast
与文本 te
顺序问题。
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();
});