Android 在ViewPager内部使用SwipeRefreshLayout和WebView
我在应用程序中使用了Android 在ViewPager内部使用SwipeRefreshLayout和WebView,android,android-viewpager,android-support-library,swiperefreshlayout,Android,Android Viewpager,Android Support Library,Swiperefreshlayout,我在应用程序中使用了SwipeRefreshLayout和WebView,没有任何问题 在ViewPager中code: @Override public Object instantiateItem(View collection, int position) { currentArticle = newsList.get(position); View webViewContainer = getActivity().getLayoutInflater().inflat
SwipeRefreshLayout
和WebView
,没有任何问题
在ViewPager中
code:
@Override
public Object instantiateItem(View collection, int position) {
currentArticle = newsList.get(position);
View webViewContainer = getActivity().getLayoutInflater().inflate(R.layout.view_pager_item, null);
WebView webview = (WebView) webViewContainer.findViewById(R.id.webview);
SetSettingForWebView(webview);
webview.loadUrl(currentArticle.getArticleURL());
SwipeRefreshLayout swipe = (SwipeRefreshLayout) webViewContainer.findViewById(R.id.swipe_container);
setSettingForSwipeLayout(swipe);
((ViewPager) collection).addView(webViewContainer, 0);
return webViewContainer;
}
无论我是否定义了SwipeRefreshLayout
,都会发生此错误
这就是错误所在。正如你所看到的,这与我的代码无关,但我不知道如何解决这个问题
日志:
转到项目->属性->Java Buildpath并添加支持库V4,通过确保勾选勾号,从订购和导出选项卡检查库。SwiperFreshLayout.Java的第441行
mListener.onRefresh();
你同意了吗?这可能是因为你在ViewPager中有
SwipeRefreshLayout
,即在view\u pager\u item.xml中。因此,当SwipeRefreshLayout
查找其上下文时,它将找到包含ViewPager的活动或片段
尝试将SwipeRefreshLayout
移动到包含ViewPager的活动或片段,并查看其运行情况。是否已使用侦听器设置SwipeRefreshLayout视图
例如,如果您的片段/活动实现了SwipeRefreshLayout.OnRefreshListener,则需要将SwipeRefreshLayout实例设置为:
SwipeRefreshLayout layout = (SwipeRefreshLayout)view.findViewById(R.id.swipe);
layout.setOnRefreshListener(this);
这应该可以修复崩溃:)我做到了。即使我没有,我也不认为会崩溃。正如我所写的,在我的应用程序中的其他片段上,滑动操作也可以正常工作
SwipeRefreshLayout layout = (SwipeRefreshLayout)view.findViewById(R.id.swipe);
layout.setOnRefreshListener(this);