2010-04-22 75 views
2

如果我想在EditText字段中强制输入的最大长度,我可以使用maxLength属性。但是,如果我想执行最小长度(在我的情况下,非空白),我发现没有相应的minLength属性。Android:需要验证非空白输入的编辑文本

我也看过各种'inputType'属性(电话,密码等),但我没有看到'必填'或'非空白'之类的东西。

我不敢相信这将需要一个自定义输入过滤器;更可能的答案是如此明显,它只是不会以我问这个问题的形式写下来。

回答

1

您可以简单地检查yourField.text()在提交时不等于null或“”。如果是,请提示用户输入内容。

+1

如果不希望将空格作为输入进行计数,也许还可以修剪字符串。 – 2010-04-22 17:38:40

+0

我欣赏这两个建议。这基本上就是我正在做的 - 在屏幕中的所有字段被填充并且用户按下“去”按钮之后验证。但是我期待/希望的是在焦点离开一个领域之前给予即时反馈的方式,然后才能进入下一个领域。 – 2010-04-22 20:58:10

+0

然后,您只需要在EditText – jqpubliq 2010-04-22 22:17:52

1

尽管如此,例如,如果你有一个提交按钮,并且你的用户按下提交而不改变你的TextEdit焦点,你的方法将不会被调用。

采取的活动有2个EditTexts和1个按钮和一个名为 “转到”:

1)用户在EditText1上EditText2

写东西

2)用户点击

3)代替书面方式的东西在那里只需点击即可。

您的onFocusChanged()方法将不会被调用,因为焦点不是“丢失”。

如果你在你的围棋button_click方法的验证,它会触发,当然,但你不会达到你的目标,“我一直在寻找/希望的是一个方法,让即时反馈”

你可以尝试使用TextWatcher。