Клавиша 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
}
});