EditText电话号码格式化输入、删除案例
2023-09-11 14:20:59 时间
我们在输入电话号码的时候,一般都会切割一个较长的电话号码。这种话效果会好非常多。。对EditText的监听能够轻松的实现这个需求。仅仅须要我们给相应的EditText加一个监听就OK了。。贴一下我写的一个watcher
public static class MyTextWatcher implements TextWatcher { private EditText numberEditText; private Button confirmButton; int beforeLen = 0; int afterLen = 0; public MyTextWatcher(EditText numberEditText, Button confirmButton) { this.numberEditText = numberEditText; this.confirmButton = confirmButton; } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { beforeLen = s.length(); } @Override public void afterTextChanged(Editable s) { String txt = numberEditText.getText().toString(); afterLen = txt.length(); if (afterLen > beforeLen) { if (txt.length() == 4 || txt.length() == 9) { numberEditText.setText(new StringBuffer(txt).insert( txt.length() - 1, " ").toString()); numberEditText.setSelection(numberEditText.getText() .length()); } } else { if (txt.startsWith(" ")) { numberEditText.setText(new StringBuffer(txt).delete( afterLen - 1, afterLen).toString()); numberEditText.setSelection(numberEditText.getText() .length()); } } } }
使用的时候仅仅须要new 这个watcher。传入当前的Edittext就可以
相关文章
- 《图解CSS3:核心技术与案例实战》
- 数据分析实际案例之:pandas在餐厅评分数据中的使用
- 大数据与机器学习:实践方法与行业案例3.4 自动加载程序的多线程实现
- 【AppLinking实战案例】通过AppLinking分享应用内图片
- 《OpenGL ES 2.0游戏开发(上卷):基础技术和典型案例》——导读
- 《数据科学R语言实践:面向计算推理与问题求解的案例研究法》一一2.6 对个人跑步时间的变化进行建模
- 浅析Linux中stty命令的作用、常用用法及案例使用
- 信息系统项目管理案例3
- C++ 基础入门 之 结构体/结构体定义和使用/结构体数组/结构体指针/ 结构体嵌套结构体/结构体做函数参数/结构体中 const 使用场景/结构体案例
- Vue学习第26天——vuex中的模块化和命名空间的详解及案例练习
- C#+winform登陆界面案例