如何在android中的textview上输入edittext中输入的单词的长度?

时间:2015-10-24 15:29:19

标签: android types listener

如何显示输入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()编写。

2 个答案:

答案 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());
    }