在视图中找到一个Horizo​​ntalScrollView

时间:2012-11-02 21:53:04

标签: android android-layout

试图弄清楚ViewGroup中的任何视图是否是Horizo​​ntalScrollView,由于某种原因,此代码不能正常工作。如果有人能帮助我看看我做错了什么,那么我会很感激。

我确定我的布局中有一个水平滚动视图,而且它是我传入的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;
}

1 个答案:

答案 0 :(得分:2)

你递归调用你的方法,但是你没有对这些结果做任何事情......
当您找到嵌套的Horizo​​ntalScrollView时尝试返回true,如下所示:

else if (viewGroup.getChildAt(i) instanceof ViewGroup &&
         isAnyViewHorizontallyScrollable((ViewGroup)viewGroup.getChildAt(i)))
    return true;
}