有没有办法取消下一个专注于Android的领域?

时间:2015-01-13 22:07:45

标签: android android-edittext

基本上,当字段失去焦点时,我正在验证字段。当我们检查OnFocusChangeListener时发生错误,我希望它取消焦点并保持在同一个字段上。有没有办法取消对它的关注?

public void onFocusChange(View v, boolean hasFocus) 
{
        if (!hasFocus)
        {
            if(checkError(v))
            {
               // Cancel focus here
            }
        } 
}

1 个答案:

答案 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) {

    }
});