程序设计的很多地方都要用到一个小技术:指定文本框的输入类型。即限制只能输入某几类或某类字符,甚至是某几个字符。
Android本身已经做了很多设计,如限制长度,限制只能输入整数或数字。
有时候这些还是不够的。我们可以在程序中根据需要自己定制。
主要涉及:EditText.addTextChangedListener,EditText.removeTextChangedListener,EditText.setFilters。

方法:
对EditText添加自定义的TextChange监听。在改监听中检测输入字符是否合法。

关键代码如下:

Java代码
  1. @Override
  2. ublicvoidafterTextChanged(Editables){
  3. Stringstr=s.toString();
  4. if(str.equals(tmp)){
  5. return;//如果tmp==str则返回,因为这是我们设置的结果。否则会形成死循环。
  6. }
  7. StringBuffersb=newStringBuffer();
  8. for(inti=0;i<str.length();i++){
  9. if(digits.indexOf(str.charAt(i))>=0){//判断字符是否在可以输入的字符串中
  10. sb.append(str.charAt(i));//如果是,就添加到结果里,否则跳过
  11. }
  12. }
  13. tmp=sb.toString();//设置tmp,因为下面一句还会导致该事件被触发
  14. editText.setText(tmp);//设置结果
  15. editText.invalidate();

更多相关文章

  1. Android系统input系统(1)
  2. [置顶] 超赞!!Android视图讲解!!以及Android内坐标分析!!!
  3. 浅析Android事件分发
  4. Android(安卓)TextView中的文字自动生成链接
  5. android 手势操作 滑动效果 触摸屏事件处理
  6. 【Android】EventBus 3.0 源码分析
  7. [置顶] android应用框架系列一,架构
  8. Android(安卓)源码分析 - 事件分发机制
  9. android utf-8 显示韩文的小坑 && 小技巧

随机推荐

  1. android视频录制MediaStore.ACTION_VIDEO
  2. android:debuggable属性
  3. widget(1、TextView)
  4. Android进度条源代码
  5. Dialog窗口形式的Activity
  6. android广播监听短信并显示内容
  7. ScrollView中嵌入ListView办法
  8. Android 滚动字幕ScrollTextView
  9. Customize Android Fonts
  10. android 无线调试