android edittext 设置只允许输入整数,(设置输入类型)
16lz
2021-01-24
1. 其实通过XML进行配置特别简单,直接在xml中来一句,android:inputtype="number"(整数), 然后你想设置带小数点的,可以number改为numberDecimal
通过xml比较简单,此处不再多说。主要是在代码里面设置
今天干活也比较墨迹,然后,查了一上午这个小东西,才弄出来。
android:inputType对应的方法为setRawInputType(int),
public void setRawInputType (int type)
因为我是把edittext重新封装了一下,有的地方是只允许整数,有的地方是即小数,然后,最初我使用的是
int inputType = InputType.TYPE_CLASS_NUMBER ;dataText.setRawInputType(inputType);
但是特别恶心的一点,设置了之后,居然键盘怎么也出不来了,当时就以为是setRawInputType这个方法不行,肯定有bug,后来我又改成了设置事件
dataText.setKeyListener(new DigitsKeyListener(false, true));
但是这样设置了之事,几乎对我没起作用,因为我只允许输入整数,但这个事件设置了,我还是可以照样可以输入小数点,于我又是翻过去研究了一下setRawInputType这个方法,而后改成了
int inputType = InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_VARIATION_NORMAL;dataText.setRawInputType(inputType);
这次键盘到是出来了,但还是能够输入小数点,监于今天本来就比较墨迹,结果通过xml一句话能搞定的,我试了三种方法都不行之后,我就歇了半个小时,得瑟了一会,回过头来,又试了一下那个事件,改成了:
dataText.setKeyListener(DigitsKeyListener.getInstance("0123456789"));
顺利通过。。。。
当时就觉得吧心里小美了一下,不过要细心,要耐心吧,如果简单的一个东西,我居然浪费了这么长时间。。。严重鄙视我自己,然后就是一定要多看源码啊,源码里面真的有黄金屋
更多相关文章
- Android超精准计步器开发-Dylan计步
- PreferenceActivity-Android的设置界面
- 【android】LayoutInflater.inflate方法的详解及xml根元素的布局
- 关于Android(安卓)Force Close 出现的原因 以及解决方法
- MVP+RxJava+Dagger打造的Android(安卓)Album
- android三种菜单介绍
- [Android] 问题记录 - Cupcake & Donut, Sdcard 正确使用方法
- android下播放器视频输出方法总结
- Android系列之网络(三)----使用HttpClient发送HTTP请求(分别通过GET