微博输入限制字数,编辑框右下角会有剩余字数显示,通过在项目中做了类似的编辑框,又看了一遍editview的监听器。
先说基本原理,编辑框内容变化之后字数改变,具体的改变根据实际需要变化。
关于editview的监听 通过使用addTextChangedListener(TextWatcher watcher)方法对EditText实现监听。
TextWatcher watcher有三个抽象方法
调用顺序:beforeTextChanged-->onTextChanged-->afterTextChanged
只要在afterTextChanged中设置字数的获取,处理,显示就行了
editIntroduceContent.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
@Override
public void afterTextChanged(Editable s) {
int number = MAXWORDS - s.length();
editIntroduceShowText.setText(number+"");
if(number<0){
editIntroduceShowText.setTextColor(Color.RED);
}
}
});
MAXWORDS 最大字数限制
通过
onTextChanged
事件监听可以对用户编辑状态进行显示 ,例如微信对方正在输入的状态显示
通过对例子的模仿才能快速掌握知识