【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

相关推荐
歪楼小能手2 小时前
Android16系统go版关闭重力旋转开关后缺失手动旋转屏幕悬浮按钮
android·java·平板
崇山峻岭之间3 小时前
Matlab学习记录37
android·学习·matlab
stevenzqzq5 小时前
Android 协程 Channel 菜鸟教程
android·channel
遗悲风5 小时前
PHP伪协议全面解析:原理、常用场景、攻防实战与安全防护
android·安全·php
撩得Android一次心动5 小时前
Android Lifecycle 全面解析:掌握生命周期管理的艺术(源码篇)
android·lifecycle
stevenzqzq5 小时前
android fow 限流
android·限流·flow
冬奇Lab7 小时前
Android 15 显示子系统深度解析(二):图形缓冲区管理与HWC硬件合成
android
wings专栏7 小时前
Android触摸事件分发记录
android
aaajj7 小时前
【Android】声控拍照例子
android
stevenzqzq7 小时前
Android MVI 中 setState(reduce: State.() -> State) 设计说明文档
android·mvi框架