Ваш inputLength
был final
.Первоначально inputLength был пустым и был сохранен в последнем поле inputLength
со значением 0. Именно поэтому срабатывает только 2-е условие.
Значение inputLength
было установлено до того, как onClick
было запущено.
Решением является либо использование TextWatcher
, либо более простое - просто переместить inputLength
внутрь onClick
, таким образом вы можете получить новое значение для inputLength при каждом триггере onClick
:
@Override
public void onClick(View v) {
final int inputLength = boxID.getText().toString().length();
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
if(inputLength >= 10 && inputLength <= 11)
tv.setText("Refresh request sent");
else if(inputLength<1)
tv.setText("VC number field looks empty"); //Only this one works at any input length
else if(inputLength>1 && inputLength<10)
tv.setText("VC number must be at least 10 digit");
else tv.setText("Wrong input");
}
})
}