【问题标题】:backspace key is not detecting in textwatcher [duplicate]在 textwatcher 中未检测到退格键 [重复]
【发布时间】: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


【解决方案1】:

使用 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        
        }
});

【讨论】:

  • 这不适用于所有手机或所有输入类型:(
  • 根据我在这里看到的,上面的评论是有道理的。 stackoverflow.com/questions/4886858/…
  • 这应该适用于硬件键盘。问题中的键盘种类不清楚,所以我认为这个答案不值得反对。
  • 尽管指出这个限制会很好。
  • if(if(before>count),表示更改前的文本比当前的长,表示我们删除了一个字母(或更多)。
猜你喜欢
  • 2012-08-25
  • 1970-01-01
  • 2020-09-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-18
  • 2018-07-17
  • 2011-05-20
相关资源
最近更新 更多