Android - 如何将数字EditText设置为指定的位数

Android - How to set numeric EditText to a specified number of digits

我希望 EditText 正好包含 8 位数字(例如银行帐户)。当然除了:

android:inputType="number"

XML 中是否有一个选项,或者我是否必须以编程方式管理它?

EditText 中尝试以下行:

android:maxLength="8"

我觉得就xml没办法了。 您必须以编程方式验证它。

@Override
public void afterTextChanged(Editable s) {
    // validation code goes here
}

更改十进制输入类型,然后设置 maxLength="8"。

android:inputType="decimal"
android:maxLength="8"

这是我的 phone 编辑文本:

<EditText
    style="@style/ObligatoryEditTextStyle"
    android:id="@+id/etxtClientPhone"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_alignParentLeft="true"
    android:gravity="left"
    android:textColor="@color/hub_blue_normal"
    android:visibility="visible"
    android:selectAllOnFocus="true"
    android:digits="0123456789"
    android:maxLength="8"/>

如果我对你有帮助并且编程不错,请告诉我!!

以编程方式。

此外,您可以通过使用现有库来节省时间 EditText with validation。您可以使用具有以下模式的 regex 类型 [0-9]{8}.