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

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