Android 使用android:inputType属性,从EditText中输入获取数字

通常,从EditText中获取字符串很简单:

EditText text = findViewById(R.id.textName);
String name = text.getText().toString();

现在要从其中获得数字,就要做以下处理。

xml中加入输入类型android:inputType="number",这样使得弹出的输入键盘为数字键盘。之前的android:numeric="integer"已经过时。

<EditText
    android:id="@+id/editText_age"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="input age"
    android:inputType="number" />

Java文件中:

EditText et_age = findViewById(R.id.editText_age);
int age = Integer.parseInt(et_age.getText().toString());

有网友说直接使用getText()会报错,要使用getEditableText()。另外,trim()可以去掉字符串两端的的空格。

 

扩展

既然用到了android:inputType属性,就介绍一下常见的类型。

    android:inputType="none"                //输入普通字符
    android:inputType="text"                //输入普通字符
    android:inputType="textCapCharacters"   //所有字母大写
    android:inputType="textCapWords"        //单词首字母大写
    android:inputType="textCapSentences"    //仅第一个字母大写
    android:inputType="textAutoCorrect"     //自动完成
    android:inputType="textAutoComplete"    //自动完成
    android:inputType="textMultiLine"       //多行输入
    android:inputType="textImeMultiLine"    //输入法多行(不一定支持)
    android:inputType="textNoSuggestions"   //不提示
    android:inputType="textUri"             //URI格式
    android:inputType="textEmailAddress"    //电子邮件地址格式
    android:inputType="textEmailSubject"    //邮件主题格式
    android:inputType="textShortMessage"    //短消息格式
    android:inputType="textLongMessage"     //长消息格式
    android:inputType="textPersonName"      //人名格式
    android:inputType="textPostalAddress"   //邮政格式
    android:inputType="textPassword"        //密码格式
    android:inputType="textVisiblePassword" //密码可见格式
    android:inputType="textWebEditText"     //作为网页表单的文本格式
    android:inputType="textFilter"          //文本筛选格式
    android:inputType="textPhonetic"        //拼音输入格式
 
 
    //数值类型
    android:inputType="number"              //数字格式
    android:inputType="numberSigned"        //有符号数字格式
    android:inputType="numberDecimal"       //可以带小数点的浮点格式
    android:inputType="phone"               //拨号键盘
    android:inputType="datetime"            //日期+时间格式
    android:inputType="date"                //日期键盘
    android:inputType="time"                //时间键盘
发布了25 篇原创文章 · 获赞 5 · 访问量 6401

猜你喜欢

转载自blog.csdn.net/qq_35413770/article/details/104781833