【发布时间】:2012-03-16 23:52:36
【问题描述】:
在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 上打印。
如果有人知道,请回复。
谢谢!
【问题讨论】:
-
1. TextWatcher 用于观看文本。 2.似乎您不了解自己的代码:您将 0 分配给 keyCode
int keyCode = 0;,然后将其与KeyEvent.KEYCODE_DEL进行比较...我很确定KeyEvent.KEYCODE_DEL != 0...所以永远不会调用i--;... -
@Abhishek Karande 如果我们进入空间,那么 TextWatcher 监听器也不起作用......这里有什么帮助吗?
标签: android android-edittext textwatcher android-keypad