I am trying to detect, when a user adds more then a specific amount (20) of letters in a Text field. When typing the the field itemNo
, the debugger will not get triggered in the onKey
Event. But when clicking on the save button (setOnTouchListener
), this works perfectly.
What am i missing here?
Thanks for your advice.
@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();
}