基本上,当字段失去焦点时,我正在验证字段。当我们检查OnFocusChangeListener时发生错误,我希望它取消焦点并保持在同一个字段上。有没有办法取消对它的关注?
public void onFocusChange(View v, boolean hasFocus)
{
if (!hasFocus)
{
if(checkError(v))
{
// Cancel focus here
}
}
}
答案 0 :(得分:0)
我认为requestFocus()可以做到这一点,请参阅以下答案:https://stackoverflow.com/a/8077842/1173391
的更新强>
我认为您缺少对视图ID的检查,因为 onFocusChange 方法是通过类中的接口实现的:
尝试设置:
if(v.getId()== myEditText.id)
首先检查焦点变化方法;您必须为每个编辑字段执行此操作(或使用开关而不是if)....
要么
将OnFocusChangeListener附加到每个字段:
edittext1.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
}
});