EditText输入手机号自动带空格
2015-07-09 14:33
633 查看
原文地址:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0708/3163.html
在android开发过程中,经常会要求用户输入手机号,为了便于观看,我们都会已135 xxxx xxxx这种格式展示。下面就带领大家实现这种功能。
![](http://images0.cnblogs.com/blog2015/729560/201507/091431039863487.png)
使用
在android开发过程中,经常会要求用户输入手机号,为了便于观看,我们都会已135 xxxx xxxx这种格式展示。下面就带领大家实现这种功能。
![](http://images0.cnblogs.com/blog2015/729560/201507/091431039863487.png)
public class PhoneTextWatcher implements TextWatcher { private EditText _text; public PhoneTextWatcher(EditText _text) { this._text = _text; } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { if (s == null || s.length() == 0) return; StringBuilder sb = new StringBuilder(); for (int i = 0; i < s.length(); i++) { if (i != 3 && i != 8 && s.charAt(i) == ' ') { continue; } else { sb.append(s.charAt(i)); if ((sb.length() == 4 || sb.length() == 9) && sb.charAt(sb.length() - 1) != ' ') { sb.insert(sb.length() - 1, ' '); } } } if (!sb.toString().equals(s.toString())) { int index = start + 1; if (sb.charAt(start) == ' ') { if (before == 0) { index++; } else { index--; } } else { if (before == 1) { index--; } } _text.setText(sb.toString()); _text.setSelection(index); } } @Override public void afterTextChanged(Editable s) { } }
使用
phone= (EditText) findViewById(R.id.phone); phone.addTextChangedListener(new PhoneTextWatcher(phone));
相关文章推荐
- ios 获取屏幕的属性和宽度
- ViewPager的视差背景效果
- C#开发Unity游戏教程之判断语句
- IE 跟人家不一样的一些地方
- CocoaPods 下载慢
- 【C语言】打印1到最大的n位数
- 分析Masonry
- TCP协议过程详解
- iPhone如何打包成一个通用的静态库文件
- 关于Fragment对于回退栈的理解问题
- MySQL 初始化root 密码
- Redis 3.0 集群搭建
- 随笔
- 思达BI软件StyleIntelligence实例教程—帕累托图
- Mongodb模糊查询
- Ubuntu下将现有的文件打包成deb包
- 如何提升MySQL批量插入的效率
- linux的wc打印换行符,字和字节计数
- JVM性能调优
- 0709 上班第四天