android studio中setFocusable(true)的用途是什么?

时间:2020-09-05 17:13:17

标签: android-studio

我是android studio的新手。我对以下代码有些困惑。

EditText emailEt;
if(!Patterns.EMAIL_ADDRESS.matcher(email).matches()){
    emailEt.setError("Invalid email address");
    emailEt.setFocusable(true);
}

setFocusable()方法的目的是什么? 如果传递的布尔值设置为false,会发生什么?

2 个答案:

答案 0 :(得分:0)

我认为这没什么用,但是当按下android键盘上的下一个按钮时,它有助于请求将焦点指向下一个编辑文本

enter image description here

答案 1 :(得分:0)

如果您不确定可聚焦的对象,这里有一个简短的解释。

如果视图中有表单,则可能有2种情况-

  1. 键盘会自动弹出,或者当您按下键盘上的next / enter键时,会自动选择下一个输入字段来接收输入
  2. 您需要手动按下输入字段以带动键盘进行键入。按下Enter键后,键盘可能会消失。

以上现象称为聚焦。

回到问题上,如果您希望案例(1)发生,则将setFocusable()设置为true,否则,如果您希望案例(2)发生,则可以将其设置为false

有关更多信息,请参考以下文档