天天看点

Android统计当前输入字符数,限制edittext输入字符数

1–>统计当前输入字符数

Android统计当前输入字符数,限制edittext输入字符数

定义成员变量

private CharSequence temp ;//接收当前输入的字符 private int maxNum = 200; private int nowNum ;//当前输入的字符数

然后设置edittext的监听,

mEditText.addTextChangedListener

“`

@Override

public void onTextChanged(CharSequence s, int i, int i1, int i2) {

//接收当前输入的字符

temp = s;

}

@Override
        public void afterTextChanged(Editable editable) {
        //当前的字符数
             nowNum = editable.length();
           input_tv.setText("已输入"+nowNum+"/"+maxNum+"个字");
     int selectionStart = mEditText.getSelectionStart();
     int selectionEnd = mEditText.getSelectionEnd();
                if(temp.length()>maxNum){
                //截取字符串
                    editable.delete(selectionStart - 1, selectionEnd);
                    mEditText.setText(editable.toString());
                     int selection = editable.length();
                    //光标回到末尾
                    mEditText.setSelection(selection);
                }
        }
    });
           

“`即可实现如图效果(有更好的方法欢迎交流,指点)

2–>限制edittext输入字符数

方法一:在edittext布局中加入

android:maxLength="200"

即可规定最大输入200字符,*(1)中英文都算一个字符。

(2)字数到,不能输入*

方法二:

InputFilter限制,同布局中限制类似。