Я пытаюсь определить, когда пользователь добавляет более определенного количества (20) букв в текстовое поле. При вводе поля itemNo отладчик не будет запускаться в событии onKey. Но при нажатии на кнопку сохранить (setOnTouchListener), это работает отлично.
Что мне здесь не хватает?
Спасибо за совет.
@SuppressLint("ClickableViewAccessibility")
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
super.onCreateView(inflater, container, savedInstanceState);
if (binding == null) {
binding = FragmentItemBinding.inflate(inflater, container, false);
binding.itemNo.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (binding.itemNo.getEditText().length() > 20) { //This Code is unreached, when text entered
binding.itemNo.getEditText().setText("");
return false;
}
return true;
}
});
binding.save.setOnTouchListener(new SimpleSwipeListener() {
@Override
public boolean onTouchUp(View v, MotionEvent event) {
if (binding.itemNo.getEditText().length() > 20) //This Code is reached, when the button is pressed
{
return false;
}
}
});
}
return binding.getRoot();
}
Подробнее здесь: https://stackoverflow.com/questions/784 ... -triggered