手机号空格输入的EditText
来源:互联网 发布:数据库系统概论王珊ppt 编辑:程序博客网 时间:2024/05/17 03:14
这段时间碰到要输入手机号自动输入空格,网上也找了些例子,发现有各种问题,于是自己借鉴别人,自己写了一个.代码如下:
import android.content.Context;import android.text.Editable;import android.text.TextWatcher;import android.util.AttributeSet;import android.widget.EditText;/** * * 手机号码分段 */public class SpaceEdittext extends EditText{ public boolean isTel =true;//自定义开关,是否需要分段 private String addString =" "; private boolean isRun =false; public SpaceEdittext(Context context) { this(context,null); } public SpaceEdittext(Context context, AttributeSet attrs) { super(context, attrs); init(); } private void init() { addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { if(isRun){//这几句要加,不然每输入一个值都会执行两次onTextChanged(),导致堆栈溢出,原因不明 isRun = false; return; } isRun = true; if (isTel) { String finalString =""; int index =0; String telString =s.toString().replace(" ", ""); if ((index+3)<telString.length()) { finalString+=(telString.substring(index, index+3)+addString); index+=3; } while ((index+4)<telString.length()) { finalString+=(telString.substring(index, index+4)+addString); index+=4; } finalString+=telString.substring(index,telString.length()); SpaceEdittext.this.setText(finalString); if (0 == count){// 说明是删除 if (4 == start%5 ){ start = start - 1; } // 此语句在删除的时候保证光标不移动,不然会造成删除一个字母后光标自动移动到末尾 // 造成体验不好 SpaceEdittext.this.setSelection(start); }else { //此语句不可少,否则输入的光标会出现在最左边,不会随输入的值往右移动 SpaceEdittext.this.setSelection(finalString.length()); } } } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void afterTextChanged(Editable s) { } }); }}
阅读全文
0 0
- 手机号空格输入的EditText
- EditText输入手机号自动带空格
- Android开发之EditText输入手机号自动带空格
- Edittext输入手机号进行格式化
- 关于EditText禁止输入空格的方法
- Android 输入手机号有空格
- EditText防止输入空格
- 手机号验证输入自动填充空格
- 在做修改密码的 输入空格 是禁止的 EditText禁止输入空格 和 换行
- android的edittext输入银行卡默认4位一个空格
- EditText输入框过滤空格和汉字的工具类
- 输入文本框中输入手机号自动添加空格以及在手机号中间的空格处删除时自动删除末尾号码其他位置则删除直接删除实现
- 输入文本框中输入手机号自动添加空格以及在手机号中间的空格处删除时自动删除末尾号码其他位置则删除直接删除实现
- edittext 手机号、邮箱输入限制、禁止输入--binbinyang
- EditText不能输入空格且回车搜索
- Android EditText 控制不能输入空格
- EditText输入限制:整数,小数,最大值,最大字符长度,手机号
- Android EditText 手机号输入分段显示,回删也能正常显示
- 编辑代码
- ListView几个重要属性
- autoconf环境搭建
- Java 中的双重检查(Double-Check)
- window7环境下ZooKeeper的安装及运行
- 手机号空格输入的EditText
- Silicon Labs ZigBee知识库搬运
- Android adb 原理简析
- STM32伺服编码器接口
- Oracle 12c 基于PDB种子数据库创建PDB
- Android-小知识
- Python语法第5讲:字典
- linux中的管道通信
- ListView(1)+intent获得应用