6

我想知道如何对 EditText 进行验证。例如,我有一个只应接受数值的 EditText。如果用户键入的不是数字值,那么它应该显示一条警告消息(“请使用数字值....”)。

是否有可用于确定输入的文本是否为特定类型的功能?如果可能,请包含代码片段。

4

4 回答 4

9

我不会弹出一个弹出窗口,而是将提示集成到 EditText 中,这样用户只能在 EditText 中键入数字(android:numeric,android:hint):

        <EditText android:layout_height="wrap_content"
                      android:numeric="integer"
                      android:hint="@string/numberHint"
                      android:gravity="left"
                      android:id="@+id/name" 
                      android:layout_width="wrap_content" 
                      android:maxWidth="60dp" 
                      android:textSize="6pt">
        </EditText>

更多信息可在此处获得:http: //developer.android.com/reference/android/widget/EditText.html

于 2009-07-20T10:56:39.453 回答
5

另一种方式, editText.setInputType(InputType.TYPE_CLASS_NUMBER);

请浏览我的关于 android 输入验证的博客文章 [更新]。

编辑:

其中有信息,

于 2010-03-03T06:44:48.707 回答
2

如果您想要漂亮的验证消息,您可以在 EditText 控件上使用 setError 方法,如下所示:http ://blog.donnfelker.com/2011/11/23/android-validation-with-edittext/

于 2011-11-23T21:02:42.000 回答
2

文本/复选框等验证的默认功能在 android 中很差。我写了一些支持类来解决这个问题。它包含一个验证器接口、一个抽象实现、一个验证结果类和 2 个自定义实现验证的示例。1 用于文本上的正则表达式和一个简单的用于检查复选框是否被选中。

这是我的博客的链接,其中包含源代码和一点解释 Android 上的表单验证

于 2010-10-05T06:07:29.740 回答