如何获取 SwipeRefreshLayout 的 child?

How to get the child of a SwipeRefreshLayout?

我打算在给定的 SwipeRefreshLayout 中获取 WebView child。 child 是通过 addView() 方法添加的:

swipeRefreshLayout.addView(webView);

这应该很简单。因为我必须取回 webview,所以我必须转换它:

(WebView) swipeRefreshLayout.getChildAt(0);

但是,这给了我一个例外。

java.lang.ClassCastException: b.t.b.a cannot be cast to android.webkit.WebView

我也尝试将 Layout 投射到 ViewGroup,但 android studio 提到它是多余的。

索引 0 处的子项是 CircleImageView,第二个子项是您在 [=21] 中添加的 View =] file.Please 试试 :

  int childCount = swipeRefreshLayout.getChildCount();
        WebView webView;
        for (int i =0 ;i<childCount;i++){ 
            if (swipeRefreshLayout.getChildAt(i) instanceof  WebView){
                webView = (WebView) swipeRefreshLayout.getChildAt(i);
            }
        }

 // here you can use your WebView

或者您可以直接使用

swipeRefreshLayout.getChildAt(1)