android edittext 设置只允许输入整数,(设置输入类型)



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"));

顺利通过。。。。

当时就觉得吧心里小美了一下,不过要细心,要耐心吧,如果简单的一个东西,我居然浪费了这么长时间。。。严重鄙视我自己,然后就是一定要多看源码啊,源码里面真的有黄金屋

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值