Android - 如何触发编辑文本字段的验证
我需要实现一个编辑文本字段,只允许用户输入 20 到 60 之间的数字。如果用户输入的数字超出范围,将显示一个对话框并强制用户再次输入。
因此文本观察器没有用,因为它无法阻止用户输入低于 20 的数字。
onFocusChangedListener 也不是,如果用户单击“完成”按钮,edittext 不会失去焦点,因此触发器不会触发出色地。
此外,编辑文本位于选项卡视图内,因此当用户单击另一个选项卡时,触发器会触发,但用户无法再为该编辑文本输入值。
I need to implement an edittext field that just allows user input from 20 to 60. If user input a number that is out of range, a dialog will display and force user to input again.
So the text watcher is not useful because it cannot prevent user input a number that lower than 20.
The onFocusChangedListener is neither, if user clicks on 'done' button, the edittext doesn't lost focus, so the trigger doesn't fire as well.
Besides, the edittext is inside a tab view, so when user clicks on another tab, the trigger fires but user cannot input value for that edittext any more.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
阿尔文是对的......这是我的代码,用于在输入后对文本执行某些操作,但也可以很容易地成为验证序列:
Alvin is right ... this is my code to do something with text once entered, but could have as easily been a validation sequence:
使用 onTextChanged 跟踪 EditText 字段怎么样?
How about keeping track of the EditText field with onTextChanged?
使用这些
,然后当你得到像这样的数字: number.gettext() 时,你会进行验证,如果 number>60 且低于 20,你可以执行
number.setHint("number no valid");
use these
then when you get the number like: number.gettext() you make validations like if number>60 and lower then 20 you can do
number.setHint("number no valid");