银行卡输入
来源:互联网 发布:java微服务框架 hrp 编辑:程序博客网 时间:2024/06/10 02:53
bankid_ed.addTextChangedListener(new TextWatcher() { //改变之前text长度 int beforeTextLength = 0; //改变之前的文字 private CharSequence beforeChar; //改变之后text长度 int onTextLength = 0; //是否改变空格或光标 boolean isChanged = false; // 记录光标的位置 int location = 0; private char[] tempChar; private StringBuffer buffer = new StringBuffer(); //已有空格数量 int konggeNumberB = 0; @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { Log.i("liao", "before =" + s + " : " + start + " : " + count + " : " + after); beforeTextLength = s.length(); if (buffer.length() > 0) { buffer.delete(0, buffer.length()); } konggeNumberB = 0; for (int i = 0; i < s.length(); i++) { if (s.charAt(i) == ' ') { konggeNumberB++; } } } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { Log.i("liao", "on =" + s + " : " + start + " : " + before + " : " + count); onTextLength = s.length(); buffer.append(s.toString()); if (onTextLength == beforeTextLength || onTextLength <= 3 || isChanged) { isChanged = false; return; } isChanged = true; } @Override public void afterTextChanged(Editable s) { Log.i("liao", "s = " + s); if (isChanged) { location = bankid_ed.getSelectionEnd(); int index = 0; while (index < buffer.length()) { if (buffer.charAt(index) == kongge) { buffer.deleteCharAt(index); } else { index++; } } index = 0; int konggeNumberC = 0; while (index < buffer.length()) { if ((index == 4 || index == 9 || index == 14 || index == 19)) { buffer.insert(index, kongge); konggeNumberC++; } index++; } if (konggeNumberC > konggeNumberB) { location += (konggeNumberC - konggeNumberB); } tempChar = new char[buffer.length()]; buffer.getChars(0, buffer.length(), tempChar, 0); String str = buffer.toString(); if (location > str.length()) { location = str.length(); } else if (location < 0) { location = 0; } bankid_ed.setText(str); Editable etable = bankid_ed.getText(); Selection.setSelection(etable, location); isChanged = false; } }});
0 0
- 银行卡输入
- 输入银行卡号码
- android 银行卡。。空格输入
- 银行卡输入四位加一空格
- 输入银行卡号码正确性验证
- jquery银行卡输入控件使用
- JS 银行卡格式输入框
- 规范银行卡输入格式,四位四位输入
- 自定义组件-银行卡号输入框
- js开发:正则控制输入银行卡
- JS 银行卡格式 输入框(二)
- JS 输入框银行卡格式 (三)
- input 银行卡输入框,四位一空格
- input 银行卡输入框,四位一空格
- 根据输入的银行卡号显示开户银行类型,并将银行卡号四位分隔
- android输入框EditText输入银行卡,输入手机,输入身份证格式化的实现
- 银行卡号 输入4位自动加入空格符
- 银行卡输入自动断开 如1111 2222 3333 444
- 基础 js
- 线程交替输出
- Leetcode-14. Longest Common Prefix
- 第六周项目4
- 我的Linux下的vim路程
- 银行卡输入
- Java设计模式-简单工厂模式
- python处理csv文件名中中文字符解决方法
- javaweb使用get与post请求json数据并解析
- Angular2-开始
- Setting的默认初始值
- Visual C++ 开发(一) 入门
- spring编程式事务管理
- 总理出访全镜头 | 十图读懂总理美洲行