为公司创建一个新的应用程序,该公司将拥有3位数的公司ID和9位数的SSN ID。编辑文本字段是最佳方式吗?
答案 0 :(得分:1)
是的,对于任何以键盘为中心的数据输入,EditText都是您的最佳选择。您可以告诉键盘期望的数据类型,并使用inputType
属性为该类型的数据自定义键盘。如果您只是期待数字
<EditText
android:id="@+id/numberEntry"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="number" />
这将告诉键盘显示数字键盘。这里有更多选项https://developer.android.com/reference/android/widget/TextView.html#attr_android:inputType,此处有https://developer.android.com/training/keyboard-input/style.html解释。但是,指定inputType不会阻止用户通过物理键盘输入非数字。您需要事后验证。
您可以使用
限制字符数android:maxLength="10"
答案 1 :(得分:1)
正如@browep所提到的,EditText
当然应该在这里工作。不过,我会补充一点,您可能希望使用textPassword
android:inputType
。这将为您的用户提供安全感,使输入的字符在视图中隐藏。您可以采取一些其他措施来确保您的用户正确输入他们的SSN。
android:digits
属性。对于ssn,它可能类似于:“0123456789-”。此属性将输入限制为您指定的字符; <string name="ssn_hint">555-55-5555</string>
并将其包含为提示,例如`android:hint =“@ string / ssn_hint”; android:maxLength
属性。不过,为了容纳破折号,我建议长度为11个字符:android:maxLength="11"
; 在一天结束时,您最终会看到EditText
,如下所示:
<EditText
android:id="@+id/ssn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:digits="01234567890-"
android:hint="@string/ssn_hint"
android:inputType="textPassword"
android:maxLength="11"/>