在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()));
}
}
);
当我点击退格时没有检测到并且也没有在logcat上打印时,请帮助我。
如果有人有任何线索,请回复。
谢谢!
答案 0 :(得分:0)
为editText使用 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
}
});