当前位置: 代码迷 >> Android >> 如何获取android textview中edittext中键入的单词的长度?
  详细解决方案

如何获取android textview中edittext中键入的单词的长度?

热度:92   发布时间:2023-08-04 11:49:35.0

如何显示输入到文本视图中的单词的长度?

这是代码,但是如果我输入任何内容,我的应用程序将停止响应:

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()编写。

添加到@TanFang的答案中,您需要在获取长度后将其长度转换为字符串,以便该方法看起来像

@Override
public void afterTextChanged(Editable s) {
   // TODO Auto-generated method stub
   t1.setText(String.valueOf(s.length()));
}

另一件事是,您应该在TextWatcher接口调用之外初始化TextView,因为每次EditText的内容发生更改并在此期间初始化视图时都会调用它们,这将导致性能问题

尝试这个。

    @Override
    public void afterTextChanged(Editable s) {
        TextView t1=(TextView) findViewById(R.id.textView1);
        t1.setText(s.length());
    }
  相关解决方案