我已经使用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" 来实现您想要的。它是材料设计库的一部分,有很多关于如何使用它们的指南。
当用户开始键入时,这将自动添加一个清晰的图标,单击该图标将清除文本并更新您的文本更改可观察。