【Android】设置让输入框只能输入数字

Android 里想让输入框只能输入数字,一般用 EditText 并设置 android:inputType 或者 digits 属性。几种方式如下:


方式一:XML中设置 inputType

xml 复制代码
<EditText
    android:id="@+id/et_number"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:inputType="number"
    android:hint="请输入数字" />

这样就会弹出数字键盘,并且只能输入数字。


方式二:XML中设置 digits

如果只想限制特定字符(比如只允许 0-9),可以用 digits

xml 复制代码
<EditText
    android:id="@+id/et_number"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:digits="0123456789"
    android:hint="只能输入0-9的数字" />

方式三:代码里动态设置

java 复制代码
EditText etNumber = findViewById(R.id.et_number);
etNumber.setInputType(InputType.TYPE_CLASS_NUMBER);

或者指定 digits:

java 复制代码
etNumber.setKeyListener(DigitsKeyListener.getInstance("0123456789"));

补充说明

  • android:inputType="numberDecimal" → 可以输入小数。
  • android:inputType="numberSigned" → 可以输入正负号。
  • 如果既要数字又要小数,可以用 numberDecimal|numberSigned

相关推荐
2501_916008894 小时前
深入解析iOS机审4.3原理与混淆实战方法
android·java·开发语言·ios·小程序·uni-app·iphone
独行soc5 小时前
2026年渗透测试面试题总结-20(题目+回答)
android·网络·安全·web安全·渗透测试·安全狮
常利兵5 小时前
2026年,Android开发已死?不,它正迎来黄金时代!
android
Risehuxyc6 小时前
备份三个PHP程序
android·开发语言·php
Doro再努力15 小时前
【Linux操作系统10】Makefile深度解析:从依赖推导到有效编译
android·linux·运维·服务器·编辑器·vim
Daniel李华16 小时前
echarts使用案例
android·javascript·echarts
做人不要太理性17 小时前
CANN Runtime 运行时组件深度解析:任务调度机制、存储管理策略与维测体系构建逻辑
android·运维·魔珐星云
我命由我1234517 小时前
Android 广播 - 静态注册与动态注册对广播接收器实例创建的影响
android·java·开发语言·java-ee·android studio·android-studio·android runtime
朗迹 - 张伟17 小时前
Tauri2 导出 Android 详细教程
android
lpruoyu18 小时前
【Android第一行代码学习笔记】Android架构_四大组件_权限_持久化_通知_异步_服务
android·笔记·学习