如何显示输入textview的单词长度?
这是代码,但如果我输入任何内容,我的应用就会停止响应:
ed1=(EditText) findViewById(R.id.editText2);
ed1.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
TextView t1=(TextView) findViewById(R.id.textView1);
t1.setText(ed1.getText().toString().length());
}
});
代码用onCreate()编写。
答案 0 :(得分:2)
添加到@ TanFang的答案,你需要在获取它之后将长度转换为字符串,这样方法看起来像
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
t1.setText(String.valueOf(s.length()));
}
另一件事是你应该在TextWatcher
接口调用之外初始化TextView,因为每次EditText
的内容发生更改并初始化视图时都会调用它们会导致性能问题
答案 1 :(得分:0)
试试这个。
@Override
public void afterTextChanged(Editable s) {
TextView t1=(TextView) findViewById(R.id.textView1);
t1.setText(s.length());
}