对EditText进行监听,当输入银行卡的时候每4位空格


/** * 银行卡四位加空格 *  * @param mEditText */public static void bankCardNumAddSpace(final EditText mEditText) {mEditText.addTextChangedListener(new TextWatcher() {int beforeTextLength = 0;int onTextLength = 0;boolean isChanged = false;int location = 0;// 记录光标的位置private char[] tempChar;private StringBuffer buffer = new StringBuffer();int konggeNumberB = 0;@Overridepublic void beforeTextChanged(CharSequence s, int start, int count,int 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++;}}}@Overridepublic void onTextChanged(CharSequence s, int start, int before,int count) {onTextLength = s.length();buffer.append(s.toString());if (onTextLength == beforeTextLength || onTextLength <= 3|| isChanged) {isChanged = false;return;}isChanged = true;}@Overridepublic void afterTextChanged(Editable s) {if (isChanged) {location = mEditText.getSelectionEnd();int index = 0;while (index < buffer.length()) {if (buffer.charAt(index) == ' ') {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, ' ');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;}mEditText.setText(str);Editable etable = mEditText.getText();Selection.setSelection(etable, location);isChanged = false;}}});}
记录希望能帮助需要的。

更多相关文章

  1. Android(安卓)TextUtils.isEmpty()的认知
  2. android String XML使用
  3. Android屏蔽软键盘并且显示光标的实例详解
  4. Android(安卓)计算两个地理坐标之间的距离
  5. android XML转义字符 常用几个 网上找到
  6. android运行模拟器脚本(批处理)
  7. android实现状态栏添加图标的函数实例
  8. android 报错 Proguard returned with error code 1 .
  9. android自动工具类TextUtils使用详解

随机推荐

  1. Android(安卓)AsyncChannel源码分析
  2. Android(安卓)IO
  3. Android(安卓)开发者(Android(安卓)Develo
  4. Android中使用Dialog风格弹出框的Activit
  5. Android(安卓)TextView设置个别字体样式
  6. Android联机开发Python
  7. ADB命令大全
  8. Android属性(android:gravity)的说明
  9. Android蓝牙开发浅谈
  10. Android(安卓)Drawable之GradientDrawabl