在更改的EditText监听器计数个字符 [英] Counting Chars in EditText Changed Listener

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

问题描述

在我的项目,我有一个的EditText 。我想指望在的EditText 字符,并显示在的TextView 这个数字吧。我写了下面的code和它工作正常。不过,我的问题是,当我点击<大骨节病>退格向上计数,但我需要减小的数量。我怎么可以考虑<大骨节病>退格

 电视=(TextView中)findViewById(R.id.charCounts);
文字信息=(EditText上)findViewById(R.id.textMessage);
textMessage.addTextChangedListener(新TextWatcher(){
    公共无效afterTextChanged(编辑S){
        我++;
        tv.setText(将String.valueOf(ⅰ)+/+将String.valueOf(charCounts));
    }
    公共无效beforeTextChanged(CharSequence中,诠释开始,诠释计数,之后INT){}
    公共无效onTextChanged(CharSequence中,诠释开始,诠释之前,诠释计数){}
});
 

解决方案

使用

  s.length()
 

下面曾经提出的答案中的一个,但其效率非常低

  textMessage.getText()的toString()长度()
 

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){}
}); 

解决方案

Use

s.length()

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

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

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

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