Android(安卓)EditText监听小数点让用户只能输入小数点后两位
16lz
2021-01-26
最近项目需要输入价格,但是不想让用户在小数点后面输入太多,所以我封装了一个。当用户输入小数点的时候 监听小数点后面的位数,只要大于两位就立马删掉,封装好了,直接可以拿过来用!
public static void setPricePoint(final EditText editText) {editText.addTextChangedListener(new TextWatcher() {@Overridepublic void onTextChanged(CharSequence s, int start, int before,int count) {if (s.toString().contains(".")) {if (s.length() - 1 - s.toString().indexOf(".") > 2) {s = s.toString().subSequence(0,s.toString().indexOf(".") + 3);editText.setText(s);editText.setSelection(s.length());}}if (s.toString().trim().substring(0).equals(".")) {s = "0" + s;editText.setText(s);editText.setSelection(2);}if (s.toString().startsWith("0")&& s.toString().trim().length() > 1) {if (!s.toString().substring(1, 2).equals(".")) {editText.setText(s.subSequence(0, 1));editText.setSelection(1);return;}}}@Overridepublic void beforeTextChanged(CharSequence s, int start, int count,int after) {}@Overridepublic void afterTextChanged(Editable s) {// TODO Auto-generated method stub}});}
更多相关文章
- No 123 · Android(安卓)【常见问题】个人汇总
- 安卓第七天笔记--网络编程一
- 解决 Android(安卓)模拟器无法上网的问题
- 非常全的android manifest详解
- Android(安卓)adb的权限问题(可以不通过adb,而直接访问.db文件)
- Android(安卓)WebView 软键盘遮挡输入框问题的解决方法
- android 6.0指纹模块学习 1
- Android(安卓)Manifest.xml 结构详解
- Android文件存储--采用SharedPreferences保存用户偏好设置参数和