Android中EditText输入字数统计和限制

应用场景就是edittext框 下边是字数显示,有字数的限制。比较简单直接上代码了:

private int num = 100;
//etNoteContent是EditText
etNoteContent.addTextChangedListener(new TextWatcher() {
            private CharSequence wordNum;//记录输入的字数
            private int selectionStart;
            private int selectionEnd;

            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {

            }

            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
                wordNum= s;//实时记录输入的字数
            }

            @Override
            public void afterTextChanged(Editable s) {
                int number = num - s.length();
                //TextView显示剩余字数
                tvWordNumber.setText("" + number);          selectionStart=etNoteContent.getSelectionStart();
                    selectionEnd = etNoteContent.getSelectionEnd();
                if (wordNum.length() > num) {
                //删除多余输入的字(不会显示出来)
                    s.delete(selectionStart - 1, selectionEnd);
                    int tempSelection = selectionEnd;
                    etNoteContent.setText(s);
                    etNoteContent.setSelection(tempSelection);//设置光标在最后
                }
            }
        });

注释应该很清楚了,有问题欢迎提出。

posted @ 2016-04-06 21:11  Z漫步  阅读(3452)  评论(0编辑  收藏  举报