在更改的EditText监听器计数个字符 [英] Counting Chars in EditText Changed Listener
本文介绍了在更改的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屋!
查看全文