EditText 字数限制输入

本文介绍了一个文本输入限制的实现方案,通过TextWatcher监听文本框的输入情况,实时更新剩余可输入字符数,并阻止超出最大限制的输入。

private TextWatcher comment_limit_watcher = 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) {
selectionStart = society_add_comment_content_et.getSelectionStart();  
             selectionEnd = society_add_comment_content_et.getSelectionEnd(); 
             int number = CommonConstant.COMMENT_MAX_LIMIT-temp.length();//还能输入多少字符
             society_add_comment_content_limit.setText(""+number);
             if (temp.length() > CommonConstant.COMMENT_MAX_LIMIT) {  
                 s.delete(selectionStart-1, selectionEnd);  
                 int tempSelection = selectionStart;  
                 society_add_comment_content_et.setText(s);  
                 society_add_comment_content_et.setSelection(tempSelection); 
             }  
}
};
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值