试图弄清楚ViewGroup中的任何视图是否是HorizontalScrollView,由于某种原因,此代码不能正常工作。如果有人能帮助我看看我做错了什么,那么我会很感激。
我确定我的布局中有一个水平滚动视图,而且它是我传入的ViewGroup的一个孩子。
private boolean isAnyViewHorizontallyScrollable(ViewGroup viewGroup) {
for (int i=0; i < viewGroup.getChildCount(); i++) {
if (viewGroup.getChildAt(i) instanceof HorizontalScrollView) {
Log.d(TAG, "Found a horizontal scroll view");
return true;
} else if (viewGroup.getChildAt(i) instanceof ViewGroup) {
isAnyViewHorizontallyScrollable((ViewGroup)viewGroup.getChildAt(i));
}
}
return false;
}
答案 0 :(得分:2)
你递归调用你的方法,但是你没有对这些结果做任何事情......
当您找到嵌套的HorizontalScrollView时尝试返回true,如下所示:
else if (viewGroup.getChildAt(i) instanceof ViewGroup &&
isAnyViewHorizontallyScrollable((ViewGroup)viewGroup.getChildAt(i)))
return true;
}