1

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 上打印。

如果有人有任何线索,请回复。

谢谢!

4

1 回答 1

0

使用OnKeyListener为您 editText 以便您可以检测到任何按键

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        
        }
});
于 2012-02-27T14:05:23.457 回答