应用场景就是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);//设置光标在最后
}
}
});
注释应该很清楚了,有问题欢迎提出。