1. ホーム
  2. アンドロイド

[解決済み】EditTextのChanged Listenerで文字数をカウントする。

2022-04-02 04:01:37

質問

私のプロジェクトでは EditText . の中の文字をカウントしたい。 EditText で表示し、その数字を TextView . 次のようなコードを書いて、うまく動作しています。しかし、私の問題は、私がクリックしたときに バックスペース がカウントアップされますが、デクリメントする必要があります。どうすれば バックスペース ?

tv = (TextView)findViewById(R.id.charCounts);
textMessage = (EditText)findViewById(R.id.textMessage);
textMessage.addTextChangedListener(new TextWatcher(){
    public void afterTextChanged(Editable s) {
        i++;
        tv.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){}
}); 

解決方法は?

使用方法

s.length()

ある回答で次のような方法が提案されたことがありますが、非常に非効率的です。

textMessage.getText().toString().length()