Android编程之TextView的字符过滤功能分析
程序员文章站
2023-12-21 10:16:04
本文实例分析了android编程之textview的字符过滤功能。分享给大家供大家参考,具体如下:
textview可以设置接受各式各样的字符,通过过滤指定的字符来满足不...
本文实例分析了android编程之textview的字符过滤功能。分享给大家供大家参考,具体如下:
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()函数里可以实现*的过滤。
希望本文所述对大家android程序设计有所帮助。