使用退格键清除后的RxSearchView

时间:2017-11-20 11:29:55

标签: java android rx-java rx-android rx-binding

我有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

enter image description here

1 个答案:

答案 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();
            });