首页 > android edittext 限制字符不大于一定值且无法继续输入

android edittext 限制字符不大于一定值且无法继续输入

1

edittext中输入100W并且包含小数点,因此使用字符限制后,如果用户输入了小数后,小数部分也占用了字符。

InputFilter[] filters = {new InputFilter.LengthFilter(7)};
mEditText.setFilters(filters);

如上设置7位字符后,用户输入100.999也算是7个字符了
请问能否有办法设置字符为7位,但这7位并不包含小数位,比如1000000.99,小数能输入2位。

2

自己还想了办法,当用户输入超出100W后,无法继续输入并且提示toast。但试了et.setenable()或者focusable()方法后edittext()就无法点击了
所以想要的效果是,用户输入只能输入100W以下的值并且带小数点,当超出该值后,提示toast并且无法继续输入了,但是能删除修改。

谢谢


可以通过TextWather监听输入的值,然后将值和你要的进行比较,动态去设置长度,比如如果有小数点就7+3,否则就7
其实如果这块只能输入数字的话,建议自设数字键盘然后处理比如支付宝,微信钱包那样可控会更强


自己比较数字大小不就可以了


有没有试过正则,我的思路是:
第一步:监听文本内容变动(addTextChangedListener)。
第二步:重写TextWatcher,对输入内容和正则表达式比对
第三步:对不满足格式的输入做自定义处理

【热门文章】
【热门文章】