Android EditText 实现特殊格式输入
2016-05-17 23:32
525 查看
现实中经常遇到要输入特殊格式的字符串,比如MAC地址,IP地址等,可以自动匹配需要的 格式。实现方式是通过EditText.addTextChangedListener(TextWatcher)
TextWatcher实现方式如下:
附上一段我在用的代码,实现MAC格式输入(格式:00-00-00-00-00-00)
TextWatcher实现方式如下:
class MyTextWatcher implements TextWatcher{ private boolean mWasEdited = false; @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) {} @Override public void onTextChanged(CharSequence s, int start, int before, int count) {} @Override public void afterTextChanged(Editable s) { if(mWasEdited){ mWasEdited = false; return; } mWasEdited = true; String newString; // 根据需求封装字符串 // 替换字符串 s.replace(0,s.length(),newString); } }
附上一段我在用的代码,实现MAC格式输入(格式:00-00-00-00-00-00)
class MacTextWatcher implements TextWatcher{ private boolean mWasEdited = false; @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) {} @Override public void onTextChanged(CharSequence s, int start, int before, int count) {} @Override public void afterTextChanged(Editable s) { if(mWasEdited){ mWasEdited = false; return; } mWasEdited = true; String mac = s.toString(); mac = mac.toUpperCase().replace("-","").replace(":",""); StringBuilder builder = new StringBuilder(); for(int i=0;i<mac.length()&&i<12;i++){ builder.append(mac.charAt(i)); if(i%2!=0&&i!=mac.length()-1&&i!=11){ builder.append("-"); } } s.replace(0,s.length(),builder.toString()); } }
相关文章推荐
- Android中解决EditText放到popupWindow中,原有复制、粘贴、全选、选择功能失效问题
- Android2.3实现Android4.0风格EditText的方法
- Android中EditText+Button组合导致输入板无法收起的原因分析及解决办法
- Android GridView中包含EditText的焦点重新获取方法
- Android编程开发之EditText中不输入特定字符会显示相关提示信息的方法
- 解决EditText、ListView以及GridView同时使用,输入法自动跳出来的方法
- Android如何自定义EditText下划线?
- Android编程开发之EditText中inputType属性小结
- android同时控制EditText输入字符个数和禁止特殊字符输入的方法
- Android实现EditText控件禁止输入内容的方法(附测试demo)
- Android中EditText实现不可编辑解决办法
- Android编程实现在自定义对话框中获取EditText中数据的方法
- Android中EditText如何去除边框添加下划线
- Android中EditText光标在4.0中的bug及解决方法
- Android实现EditText中添加和删除bitmap的方法
- Android编程实现监听EditText变化的方法
- Android文本输入框(EditText)输入密码时显示与隐藏
- Android编程中EditText限制文字输入的方法
- Android开发中给EditText控件添加TextWatcher监听实现对输入字数的限制(推荐)
- Android开发中,如何防止刚进入activity,EditText处于编辑状态,弹出键盘