计数 EditText 中的字符已更改侦听器 [英] Counting Chars in EditText Changed Listener

查看:18
本文介绍了计数 EditText 中的字符已更改侦听器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的项目中,我有一个 EditText.我想计算 EditText 中的字符数,并在 TextView 中显示该数字.我已经编写了以下代码,它工作正常.但是,我的问题是当我单击 Backspace 时它会增加,但我需要减少数字.如何考虑 Backspace?

In my project I have an EditText. I want to count the characters in the EditText, and show that number it in a TextView. I have written the following code and it works fine. However, my problem is when I click Backspace it counts up, but I need to decrement the number. How can I consider Backspace?

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()

曾经在其中一个答案中提出以下建议,但效率很低

The following was once suggested in one of the answers, but its very inefficient

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

这篇关于计数 EditText 中的字符已更改侦听器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆