Объединить как при изменении текста, так и отменить в rxjava для редактирования текста - PullRequest
0 голосов
/ 25 сентября 2019

Я уже некоторое время пользуюсь 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

Спасибо за ваше время.

1 Ответ

0 голосов
/ 25 сентября 2019

Вы можете достичь желаемого, используя TextInputLayout и добавив app: endIconMode = "clear_text".Это часть библиотеки дизайна материалов, есть множество руководств по их использованию.

Это автоматически добавит четкий значок, когда пользователь начнет печатать, щелчок по значку очистит текст и обновит ваш textChanges, наблюдаемый.

...