如何获取 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)
我打算在给定的 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)