如何检查特定视图当前是否在 Android 中聚焦

Ank*_*kit 1 android view

在我的 android 应用程序中,我需要检查特定视图是否被聚焦。现在我在 Activity 类中找到了 getCurrentFocus() 函数,但这会返回一个视图对象。

我如何比较和检查这个返回的视图是否与有问题的视图相同。我的意思是这里没有 getName() 函数。那么在获得 View 对象后,我如何比较以检查这是哪个 View 类?

Cod*_*Yet 7

View.isFocused()方法表明所讨论的视图是否聚焦。

if (myView.isFocused()) {
    // your code
}
Run Code Online (Sandbox Code Playgroud)

如果你仍然想使用 getCurrentFocus() 方法,你可以简单地检查:

View focusView = getCurrentFocus();
if (myView == focusView) {
    // your code
}
Run Code Online (Sandbox Code Playgroud)

或者,您可以通过 id 比较您的观点。

View focusView = getCurrentFocus();
if (focusView != null && myView.getId() == focusView.getId()) {
    // your code
}
Run Code Online (Sandbox Code Playgroud)