全局请求关注 setError()

Globaly request focus on setError()

有什么方法可以在设置 错误时全局设置 attributerequest focus?

假设我 validating 很多 EditText fields 并为每个设置一个错误,在设置彼此之后我必须请求焦点:

editText.setError("Error");
editText.requestFocus();

但是存在很多字段,我需要在每个字段中调用 .requestFocus()有什么方法可以全局设置它还是明确设置是唯一的方法?

您可以为此创建一个函数,并通过提供 class 引用在您的整个应用程序中调用该函数。

public static void EdittextError(EditText editText, String Error)  {
  editText.setError(Error);
  editText.requestFocus();  }

通过编辑文本对象。和函数参数中的错误字符串。

Is there any way to set it globally or setting explicitly is the only way around?

不,系统小部件中没有特殊属性,因此您必须手动设置或扩展 EditText 并覆盖 setError() 以在调用时自动请求焦点,然后在布局中使用 MyEditText