在 rxjava 中合并文本更改和去反弹以进行编辑文本



我已经使用rxjava2一段时间了,但主要是样板文件,我不清楚它的功能。

我应该创建一个搜索Edittext某个时间后调用方法。我通过以下代码让它工作:

RxTextView.textChanges(edittextSearch)
.filter(charSequence -> charSequence.length() > 3)
.debounce(800, TimeUnit.MILLISECONDS)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(string -> {
search(string.toString());
}, error -> {
Log.e("ERROR","ERROR LISTENING: " + error.getMessage());
});

但是,我还需要一个功能EditText,即只要我输入,即使只有一个字符,我也会显示一个"X"图标来清除输入,或者在用户手动删除所有文本时隐藏它。

我不知道上面的textChanges方法是否可以做到这一点,或者我必须为edittextSearch添加另一个文本观察程序

谢谢你的时间。

您可以通过使用 TextInputLayout 并添加 app:endIconMode="clear_text" 来实现您想要的。它是材料设计库的一部分,有很多关于如何使用它们的指南。

当用户开始键入时,这将自动添加一个清晰的图标,单击该图标将清除文本并更新您的文本更改可观察。

相关内容

  • 没有找到相关文章

最新更新