TextView可以设置接受各式各样的字符,通过过滤指定的字符来满足不同应用的输入和显示要求。

通过xml配置:

android:InputType

number 接受整数输入

numberSigned 接受有符号整数输入

numberDecimal 接受整数和小数的输入

android:digits

指定接受固定的数字,如android:digits="012345",则只接受0~5数字的输入

android:numberic

integer 接受整数输入

signed 接受有符号整数输入

decimal 接受整数和小数输入

通过java代码设置

其实以上3个属性,功能有点重复,最终都是通过java代码来对TextView设置KeyListener

KeyListener是一个接口,提供了对输入键盘按键的监听

InputFilter是一个接口,提供了对字符的过滤

android提供了实现了KeyListener和InputFilter的NumberKeyListener,而DigitsKeyListener继承了NumberKeyListener

TextView tv = new TextView(context); //只接受整数输入 KeyListener l = new DigitsKeyListener(fasle,false); //接受有符号整数输入 KeyListener l = new DigitsKeyListener(true,false); //接受小数,整数输入 KeyListener l = new DigitsKeyListener(false,true); //接受有符号整数/小数输入 KeyListener l = new DigitsKeyListener(true,true); tv.setKeyListener(l);

如果想要实现更大自由度的过滤定制,可以自己写一个KeyListener(继承BaseKeyListener)并实现InputFilter,重写filter()函数,在filter()函数里可以实现自由的过滤。

更多相关文章

  1. Android EditText保留小数点后两位
  2. Android应用资源总结二:Android的问号?和@符号的用法
  3. Android:安卓资源引用符号的含义
  4. c语言“或”符号
  5. c语言float类型小数点后有几位有效数字?
  6. c语言注释符号是什么?
  7. 在C语言中,要求参加运算的数必须是整数的运算符是什么
  8. c语言中的注释符号是什么
  9. c语言多行注释符号是什么

随机推荐

  1. Android内核学习——SearchManager分析
  2. android 自定义水平和圆形progressbar 只
  3. Android(安卓)系统启动时自启动一个app
  4. 编译Android内核模块
  5. Android(安卓)build.gradle buildConfigF
  6. VMware安装Android虚拟机及adb调试
  7. Android七大布局
  8. Android访问服务器出现W/System.err(9302
  9. 一个不错的启动菜单显示屏动画效果
  10. Android消息机制