There are 3 components EditText and 1 component TextView .

In EditText , numbers are written, and in TextView sum of the data in EditText .

How to make the TextView component updateable, depending on changes in the EditText ?

  • On EditText-s are listeners hung on changing input, in which textView.setText(<новое значение>) is called? - pavlofff

2 answers 2

Try libraries RxJava, RxBinding

 Observable<Integer> summa = Observable.combineLatest( RxTextView.afterTextChangeEvents(edittext1), RxTextView.afterTextChangeEvents(edittext2), RxTextView.afterTextChangeEvents(edittext3), (text1, text2, text3) -> { returnt Integer.parseInt(text1) + Integer.parseInt(text2) + Integer.parseInt(text3); }); summa.subscribe(result-> { textview.setText(result); }); 

    Something like this is the solution:

     EditText editText; editText.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) { //что делать перед изменением текста (получение фокуса) } @Override public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) { //что делат ьв момент изменения текста. Например, добавлять данные в TextView } @Override public void afterTextChanged(Editable editable) { //что делать после того, как текст изменился (потеря фокуса) } });