搜索
您的当前位置:首页正文

Android EditText设置只能输入数字和小数点

来源:易榕旅网

有两种写法:一、利用安卓自身的语法。二、利用正则表达式。
 

一、利用安卓自身的语法

1.如果设置只输入数字

edittext.setInputType( InputType.TYPE_CLASS_NUMBER);
此时只会弹出数字输入框,符号点击后不会输入到文字框中

2.只能输入数字和小数点

edittext.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);
此时注意:只设置InputType.TYPE_NUMBER_FLAG_DECIMAL是无法实现只能输入数字和小数点的,必须InputType.TYPE_CLASS_NUMBER 和InputType.TYPE_NUMBER_FLAG_DECIMAL同时设置才可以

3.在布局xml文件中写法:

<EditText
                    android:id="@+id/et_total_money_input"
                    style="@android:style/Widget.TextView"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentRight="true"
                    android:layout_centerVertical="true"
                    android:background="@null"
                    android:gravity="right"
                    android:hint="请输入金额"
                    android:inputType="number|numberDecimal"
                    android:textColor="@color/font_FF4081"
                    android:textSize="12sp"/>
 

二、利用正则表达式
需求:

1.EditText获取到焦点时,弹出数字键盘;

2. 只能输入数字或字母;

解决方案
1.弹出数组键盘简单,就是把inputType类型设为number
<EditText
     android:id="@+id/home_et_validate"
     style="@style/order_vcode_input"
     android:hint="请输入订单验证码"
     android:inputType="number"
     android:digits="@string/filter_vcode"/>
2.正则:就是设置属性digits。
对于1中的filter_vcode就是下面的2,把[a-zA-Z]写到strings.xml文件里面。

android:inputType="number"

android:digits="0123456789xyzXYZ"

因篇幅问题不能全部显示,请点此查看更多更全内容

Top