Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在ViewPager内部使用SwipeRefreshLayout和WebView_Android_Android Viewpager_Android Support Library_Swiperefreshlayout - Fatal编程技术网

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);