Android 自定義輸入手機號自動添加分隔符
更新時間:2017年05月19日 09:11:33 作者:世人笑我太瘋癲
這篇文章主要介紹了Android 自定義輸入手機號自動添加分隔符的實例代碼,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
比較簡單的一個控件,就是加些邏輯處理而已,以前貌似是直接監(jiān)聽的,封裝起來方便點
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 自定義輸入手機號自動添加分隔符,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關文章
android開發(fā)框架afinal使用方法小結(jié)
這篇文章主要為大家詳細總結(jié)了android開發(fā)框架afinal使用方法,注解功能、文件上傳下載功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-11-11Android音視頻開發(fā)之MediaCodec的使用教程
在Android開發(fā)中提供了實現(xiàn)音視頻編解碼工具MediaCodec,針對對應音視頻解碼類型通過該類創(chuàng)建對應解碼器就能實現(xiàn)對數(shù)據(jù)進行解碼操作。本文通過示例詳細講解了MediaCodec的使用,需要的可以參考一下2022-04-04Android常用控件ImageSwitcher使用方法詳解
這篇文章主要為大家詳細介紹了Android常用控件ImageSwitcher的使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-08-08