Android 自定义输入手机号自动添加分隔符

Android 自定义输入手机号自动添加分隔符,第1张

概述比较简单的一个控件,就是加些逻辑处理而已,以前貌似是直接监听的,封装起来方便点

比较简单的一个控件,就是加些逻辑处理而已,以前貌似是直接监听的,封装起来方便点

public class AccountTxtVIEw extends androID.support.v7.Widget.AppCompatEditText {  private final char CUT = '-';  public AccountTxtVIEw(Context context) {    super(context);  }  public AccountTxtVIEw(Context context,AttributeSet attrs) {    super(context,attrs);  }  public AccountTxtVIEw(Context context,AttributeSet attrs,int defStyleAttr) {    super(context,attrs,defStyleAttr);  }  @OverrIDe  protected voID onTextChanged(CharSequence text,int start,int lengthBefore,int lengthAfter) {    if (text == null || text.length() == 0)      return;    StringBuilder sb = new StringBuilder();    for (int i = 0; i < text.length(); i++) {//添加分割符      if (i != 3 && i != 8 && text.charat(i) == CUT) {        continue;      } else {        sb.append(text.charat(i));        if ((sb.length() == 4 || sb.length() == 9)            && sb.charat(sb.length() - 1) != CUT) {          sb.insert(sb.length() - 1,CUT);        }      }    }    //防止多次设置值    if (!sb.toString().equals(text.toString())) {      int index = start + 1;      if (sb.charat(start) == CUT) {        if (lengthBefore == 0) {          index++;        } else {          index--;        }      } else {        if (lengthBefore == 1) {          index--;        }      }      setText(sb.toString());      setSelection(index);    }else{//删除时候判断      String line = text.subSequence(text.length() - 1,text.length()).toString();      if (line.equals(String.valueOf(CUT))) {//如果删除碰到‘-'符号,则默认去除        sb.deleteCharat(text.subSequence(0,text.length() - 1).length());        setText(sb.toString());        setSelection(sb.length());      }    }  }  public String getPhone() {    String result = null;    String val = getText().toString();    if (val == null || val.isEmpty())      return "";    result = val.replace(String.valueOf(CUT),"");    return result;  }}

使用也简单

然后效果就出来了

输入第四个的时候自动填充‘-'分隔符,然后删除的时候自动删除‘-'分隔符

以上所述是小编给大家介绍的AndroID 自定义输入手机号自动添加分隔符,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程小技巧网站的支持!

总结

以上是内存溢出为你收集整理的Android 自定义输入手机号自动添加分隔符全部内容,希望文章能够帮你解决Android 自定义输入手机号自动添加分隔符所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1146214.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-31
下一篇2022-05-31

发表评论

登录后才能评论

评论列表(0条)

    保存