我正在尝试确定是否SearchView
ActionBar 中的焦点。但当我打电话时SearchView.isFocused()
我总是得到false
因此,即使视图真正聚焦(内部有光标,并且显示软键盘)。
我如何检查是否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)
检查焦点。我不确定这是否是最佳解决方案,但它对我有用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)