我正在尝试确定 ActionBar 中的 SearchView
是否获得焦点。但是当我调用 SearchView.isFocused()
时,我总是得到 false
结果,即使 View 真正聚焦(里面有一个光标,软键盘是显示)。
如何检查 SearchView
是否获得焦点?
最佳答案
经过一些研究,我了解到 SearchView.isFocused()
总是返回 false
因为它是 SearchView
的某个子级焦点,而不是 SearchView
本身。所以我使用以下代码来检查 SearchView 的焦点:
private boolean checkFocusRec(View view) {
if (view.isFocused())
return true;
if (view instanceof ViewGroup) {
ViewGroup viewGroup = (ViewGroup) view;
for (int i = 0; i < viewGroup.getChildCount(); i++) {
if (checkFocusRec(viewGroup.getChildAt(i)))
return true;
}
}
return false;
}
所以我调用 checkFocusRec(searchView)
来检查焦点。我不确定这是最佳解决方案,但它适合我。
关于android - SearchView.isFocused 总是返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24082745/