// 问题最大字数
private int num = 30 ;
etQuestion .addTextChangedListener(new TextWatcher() {
private CharSequence temp ;
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) {
temp = s;
}
@Override
public void afterTextChanged (Editable s) {
int number = num - s.length();
tvQuestionNumber .setText(number+"" );
selectionStart = etQuestion .getSelectionStart();
selectionEnd = etQuestion .getSelectionEnd();
// 删除多余输入的字(不会显示出来)
if (temp .length() > num ) {
s.delete(selectionStart - 1 , selectionEnd );
etQuestion .setText(s);
}
// 设置光标在最后
etQuestion .setSelection(s.length());
}
});