在textwatcher中未检测到退格键

时间:2012-02-27 13:56:32

标签: android android-edittext textwatcher android-keypad

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 个答案:

答案 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        
        }
});