У меня есть 2 поля editText editText1 и editText2.
Я использую Reactive для захвата, когда пользователь изменяет содержимое любого из них.
Когда это происходит, я хочу скопировать в другое поле значение первого поля и наоборот (сделать их взаимозависимыми).
Проблема в том, что когда я обновляю второе поле, запускается новое событие, и потребитель второго поля пытается обновить первое. Это приводит к бесконечной рекурсии.
Мне нужно принимать во внимание только события от пользователя, а не события из setText, которые я выполняю для потребителей.
RxTextView.textChanges(editText1)
.subscribe(new Consumer<CharSequence>() {
@Override
public void accept(CharSequence e) throws Exception {
editText2.setText(editText1.getText());
}
});
RxTextView.textChanges(editText2)
.subscribe(new Consumer<CharSequence>() {
@Override
public void accept(CharSequence charSequence) throws Exception {
editText1.setText(editText2.getText());
}
});