Search code examples
androideventsandroid-edittextkey

Android EditText delete(backspace) key event


How can I detect delete (backspace) key event for a editText? I've tried using TextWatcher, but when the editText is empty, when I press delete key, nothing happens. I want to detect delete key press foe an editText even if it has no text.


Solution

  • NOTE: onKeyListener doesn't work for soft keyboards.

    You can set OnKeyListener for you editText so you can detect any key press
    EDIT: A common mistake we are checking KeyEvent.KEYCODE_BACK for backspace, but really it is KeyEvent.KEYCODE_DEL (Really that name is very confusing! )

    editText.setOnKeyListener(new OnKeyListener() {                 
        @Override
        public boolean onKey(View v, int keyCode, KeyEvent event) {
            //You can identify which key pressed by checking keyCode value with KeyEvent.KEYCODE_
            if(keyCode == KeyEvent.KEYCODE_DEL) {  
                //this is for backspace
            }
            return false;       
        }
    });