Android 在键入文本时验证EditText以删除setError
我正在尝试验证EditText字段中的文本输入。我在字段中没有输入文本时创建了Android 在键入文本时验证EditText以删除setError,android,Android,我正在尝试验证EditText字段中的文本输入。我在字段中没有输入文本时创建了setErrors。按下Submit按钮时,将验证这些字段 如果为空字段抛出setError,则在该字段中键入文本,当按下Submit或在该字段中按下enter键时,setError将消失-而不是当用户在空字段中键入文本时,然后手动点击另一个字段。即使输入了文本,第一个字段的setError仍处于活动状态 我认为可以验证EditText,因为键入文本可以解决此问题。 这是正确的方法吗 EditText toText =
setErrors
。按下Submit
按钮时,将验证这些字段
如果为空字段抛出setError
,则在该字段中键入文本,当按下Submi
t或在该字段中按下enter键时,setError
将消失-而不是当用户在空字段中键入文本时,然后手动点击另一个字段。即使输入了文本,第一个字段的setErro
r仍处于活动状态
我认为可以验证EditText
,因为键入文本可以解决此问题。这是正确的方法吗
EditText toText = (EditText) findViewById(R.id.to);
EditText subjectText = (EditText) findViewById(R.id.subject);
if (toText.getText().length() == 0) {
toText.setError("Please enter a valid recipient");
}
else {
toText.setError(null);
}
if (subjectText.getText().length() == 0) {
subjectText.setError("Please enter a subject");
}
else {
subjectText.setError(null);
}
因此,我正在努力实现:
- 用户忘记在toText中输入文本
- 用户单击Submit并显示setError消息
- 用户在toText中键入文本
- 用户点击主题文本
- toText仍然显示setError
- 我想删除此场景中的setError
- 用户再次单击提交以重新验证字段
- 用户点击键盘上的enter键进入下一个字段
- 事实上,我没有完全理解你。你为什么不用这样的东西:
//EditText et;
if(et.getText().length() == 0) {
//the field is empty
}
else {
//perform the action
}
或者,您可以使用
正则表达式
验证输入我认为您可以执行subjectText.setError(null)在submit按钮的onClick()
的第一行中,单击code>。