微博输入限制字数,编辑框右下角会有剩余字数显示,通过在项目中做了类似的编辑框,又看了一遍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事件监听可以对用户编辑状态进行显示
,例如微信对方正在输入的状态显示
通过对例子的模仿才能快速掌握知识

本文介绍了一种在微博中实现字数限制的方法,利用EditText监听器TextWatcher来实时更新剩余可输入字数,并通过不同颜色提示用户是否超出字数限制。
3612

被折叠的 条评论
为什么被折叠?



