android 如何使用clearFocus
时间: 2024-01-04 10:03:06 浏览: 197
在 Android 中,View 的 `clearFocus()` 方法可以用来清除 View 的焦点,使得该 View 失去焦点。如果某个 View 拥有焦点,那么在用户与该 View 交互时,系统将会把用户的输入事件通知给该 View,而其他的 View 则无法接受到输入事件。
使用 `clearFocus()` 方法可以将焦点从某个 View 上移除,使得其他的 View 可以接受到输入事件。例如,在一个包含多个 EditText 的布局中,如果用户在其中一个 EditText 中输入完毕,可以通过调用 `clearFocus()` 方法,将焦点从该 EditText 上移除,使得其他的 EditText 可以接受到焦点和输入事件。
以下是一个示例代码:
```
EditText editText1 = findViewById(R.id.editText1);
EditText editText2 = findViewById(R.id.editText2);
editText1.setOnEditorActionListener((v, actionId, event) -> {
if (actionId == EditorInfo.IME_ACTION_DONE) {
editText1.clearFocus(); // 清除 editText1 的焦点
editText2.requestFocus(); // 给 editText2 设置焦点
}
return false;
});
```
在上面的代码中,当用户在 `editText1` 中输入完成后,调用 `clearFocus()` 方法清除 `editText1` 的焦点,然后将焦点设置到 `editText2` 上。这样,用户就可以在 `editText2` 中继续输入。
需要注意的是,如果某个 View 没有焦点,调用 `clearFocus()` 方法也不会有任何效果。