1

Доброе утро всем. Я знаю, что из названия все запутано, поэтому я попытаюсь объяснить это лучше. Мне нужно создать приложение для медицинского проекта для расчета HbA1c. У меня есть 3 editText, в которых я печатаю значения медицинского теста. Каждое из трех изменений связано с другим. Например: если у меня есть 42 в одном, другой - 5,99%. И так далее. Я пытаюсь заставить их меняться динамически: все еще изменяйтесь во время написания. Я попытался использовать OnCliclListener, но мне нужно написать все значение.Как изменить текст в TextView динамически на основе другого TextView

Я не знаю, могу ли я объяснить себя так хорошо, чтобы вы поняли.

Большое спасибо

ответ

3

Вместо использования onClickListener, попробуйте использовать addTextChangedListener() и изменить TextViews всякий раз, когда onTextChanged() называется. Используя это, вы можете даже изменить их при наборе текста.

Это выглядит примерно так:

editText.addTextChangedListener(new TextWatcher() { 
      @Override 
      public void beforeTextChanged(CharSequence c, int i, int i2, int i3) { 
      } 

      @Override 
      public void onTextChanged(CharSequence c, int i, int i2, int i3) { 
       if (c.length() > 0) { 
       } else { 
       } 
      } 

      @Override 
      public void afterTextChanged(Editable editable) { 
      } 
     }); 
0

Хотя ответ на @Anjani правильно, и вы можете использовать его, но я бы рекомендовал использовать нож для масла. Вот код:

@OnTextChanged(value = R.id.editText, 
     callback = OnTextChanged.Callback.TEXT_CHANGED) 
void afterCommentTextChange(CharSequence s, int start, int before, int count) { 
    // Do what ever you want here when text is changed 
}