//转自 http://blog.csdn.net/studynote/article/details/37928399
一: 声明控件。
TextView hasnumTV;
TextView hasnum;// 用来显示剩余字数
int num = 50;// 限制的最大字数
二: 主要的方法:
主要的效果是做到了输入的限制文字
- hasnumTV = (TextView) findViewById(R.id.tv_num);
- hasnumTV.setText("限" + num + "" + "字以内");
- editText.addTextChangedListener(new TextWatcher() {
- private CharSequence temp;
- private int selectionStart;
- private int selectionEnd;
- @Override
- public void onTextChanged(CharSequence s, int start, int before,
- int count) {
- }
- public void beforeTextChanged(CharSequence s, int start, int count,
- int after) {
- temp = s;
- }
- public void afterTextChanged(Editable s) {
- // TODO Auto-generated method stub
- int number = num - s.length();
- hasnumTV.setText("剩余" + "" + number + "个字");
- selectionStart = editText.getSelectionStart();
- selectionEnd = editText.getSelectionEnd();
- if (temp.length() > num) {
- s.delete(selectionStart - 1, selectionEnd);
- int tempSelection = selectionEnd;
- editText.setText(s);
- editText.setSelection(tempSelection);// 设置光标在最后
- }
- }
- });
转 Android实现限制EditText输入文字的数量
最新推荐文章于 2021-06-16 10:35:58 发布