【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

相关推荐
fengci.12 小时前
Microweber CMS 未授权路径穿越漏洞(CVE-2026-65694)
android·开发语言·前端·学习·php
stevenzqzq14 小时前
Android 矢量图(Vector Drawable)核心坐标与尺寸机制技术文档
android
plainGeekDev14 小时前
运行时获取依赖 → 编译时注入
android·java·kotlin
Wiktok14 小时前
Vue3(Vite)打包安卓APP 完整最佳实践
android·vue
略略略咯咯14 小时前
LocalDateTime
android
Co_Hui15 小时前
Android 系统服务的添加
android
蜡台15 小时前
Flutter Container 与装饰完整讲解
android·javascript·flutter·dart
杉氧16 小时前
用 Compose 挑战交互与动效天花板:ComposeCraftLab 开源实验室全解析
android·前端·kotlin
朝与同歌暮同酒16 小时前
冒泡社区《幻想三国》还能玩吗?安卓手机与电脑模拟器试玩记录
android·智能手机·电脑
音视频牛哥17 小时前
从数字孪生到机器人操控:Android Unity3D下RTMP/RTSP多路低延迟播放实践
android·unity·音视频·unity rtsp播放器·unity rtmp播放器·rtsp player·rtmp player