Клавиша Backspace не обнаруживается в TextWatcher

В EditText где я хочу добавить счетчик писем. он считается правильно, но когда я вошел в забой, он также считается буквой и счет добавляется на 1, что на самом деле должно быть уменьшено на 1. мой код

text_feedback_text.addTextChangedListener(new TextWatcher()
        {
            public void afterTextChanged(Editable s) 
            {
                                int keyCode = 0;
                if(keyCode==KeyEvent.KEYCODE_DEL){
                    i--;
                    Log.d("back","backspace pressed"+i);
                }else 
                    i++;
                text_feedback_count.setText(String.valueOf(i) + " / " + String.valueOf(charCounts));
            }
            public void beforeTextChanged(CharSequence s, int start, int count, int after){}
            public void onTextChanged(CharSequence s, int start, int before, int count)
            {
                text_feedback_count.setText(String.valueOf(s.length()));
            }
        } 
        );

Пожалуйста, помогите мне, когда я нажимаю Backspace его не обнаруживает, а также не печатает на LogCat.

Пожалуйста, ответьте, если у кого-то есть подсказка.

Спасибо!

1 ответ

Используйте OnKeyListener для редактирования текста, чтобы вы могли обнаружить любое нажатие клавиши

editText.setOnKeyListener(new OnKeyListener() {                 
    @Override
    public boolean onKey(View v, int keyCode, KeyEvent event) {
           if(keyCode == KeyEvent.KEYCODE_DEL){  
             //Control comes here when backspace is clicked
             }
    return false        
        }
});
Другие вопросы по тегам