关于EditText的输入数字校验的问题
来源:互联网 发布:js生成1-100随机整数 编辑:程序博客网 时间:2024/06/06 11:50
一.简述需求
1.需求是输入数字是删除第一位数字后位是0的禁止删除(如支付宝)
2.需求是可以删除任何位置的数字。如果删除第一位后面是0,就去掉无效的0
二.具体的实际例子如:
1010需求1来做:删除第一位是禁止删除
1010需求2来做:删除第一位变成10
三.下面具体上代码
方式一
private void subEditTextString(final EditText et) {if (et != null) {et.addTextChangedListener(new TextWatcher() {String str2 = "";public void onTextChanged(CharSequence s, int start,int before, int count) {}@Overridepublic void beforeTextChanged(CharSequence s, int start,int count, int after) {str2 = et.getText().toString();}@Overridepublic void afterTextChanged(Editable s) {String sss = et.getText().toString(); if ("".equals(sss)) { // et.setText(""); return; } else { char c = sss.charAt(0); if ("0".equals(c + "")) { et.setText(str2); et.setSelection(str2.length() + 1); } }}});}}方式二
private void subEditTextString(final EditText et) { if (et != null) { et.addTextChangedListener(new TextWatcher() { Arraylist<String> list; public void onTextChanged(CharSequence s, int start, int before, int count) { String str = et.getText().toString(); Pattern p = Pattern.compile("[1-9]\\d*"); Matcher m = p.matcher(str); list = new ArrayList<String>(); while (m.find()) { list.add(m.group(0)); } if (list.size()>0) { System.out.println(list.size() + list.get(0)); et.removeTextChangedListener(this); et.setText(list.get(0)); et.addTextChangedListener(this); }else{ et.removeTextChangedListener(this); et.setText(""); et.addTextChangedListener(this); } et_charge_money.setSelection(et.getText().toString().length()) } @Overridepublic void beforeTextChanged(CharSequence s, int start,int count, int after) {}@Overridepublic void afterTextChanged(Editable s) {}});}}
以上基本是两种效果,如有问题欢迎指教
0 0
- 关于EditText的输入数字校验的问题
- EditText关于输入小数点的小问题
- 关于EditText的输入小数点计算问题
- 关于JS校验金额的问题(只能输入数字和小数点)
- EditText特定字符的输入与校验
- 关于接受输入数字的问题
- 关于EditText输入数字密码
- 校验输入的内容是否为数字
- EditText 关于输入限制以及字数限制的问题
- EditText限制只能输入数字的属性
- EditText输入校验和一些相关的属性
- EditText输入是否为空,限定输入数字的实现
- 【问题】在TabHost以外的EditText不能使用硬件盘输入数字
- 关于Javascript校验输入的种种值
- 关于<input>标签输入金额的校验
- 关于EditText特定类型输入的方法
- 关于editText隐藏输入键盘的方法
- 关于EditText禁止输入空格的方法
- requirejs传参调用避免自动执行的闭包写法
- 汇编---水仙花数算法
- centos 安装mysql
- spring问题集锦
- AYITACM2016省赛第四周F-敌兵布阵(线段树)
- 关于EditText的输入数字校验的问题
- Android Menu 之 optionsMenu 详解
- Android 屏幕分辨率 计算单位
- Max Script|控制摄像机
- Xcode无证书打IPA包
- 基于多步迭代算法的数字预失真技术
- 流量监控工具类
- Android之使用Pull解析Xml数据
- 开始写博客