Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.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
Java SwipeRefreshLayout+;NestedScrollView:无法刷新数据_Java_Android_Swiperefreshlayout_Android Nestedscrollview - Fatal编程技术网

Java SwipeRefreshLayout+;NestedScrollView:无法刷新数据

Java SwipeRefreshLayout+;NestedScrollView:无法刷新数据,java,android,swiperefreshlayout,android-nestedscrollview,Java,Android,Swiperefreshlayout,Android Nestedscrollview,我在使用SwipeRefreshLayout+NestedScrollView时遇到问题。问题是,当一切正常时(应用程序的每一项都可以加载而不会崩溃,并且可以进行刷卡刷新),数据就无法更新。但是,当我重新启动应用程序时,可以加载新数据(来自API),这意味着数据没有问题。MyMainActivity.java和activity\u main.xml分别如下所示: <android.support.v4.widget.SwipeRefreshLayout android:id="@+

我在使用SwipeRefreshLayout+NestedScrollView时遇到问题。问题是,当一切正常时(应用程序的每一项都可以加载而不会崩溃,并且可以进行刷卡刷新),数据就无法更新。但是,当我重新启动应用程序时,可以加载新数据(来自API),这意味着数据没有问题。My
MainActivity.java
activity\u main.xml
分别如下所示:

<android.support.v4.widget.SwipeRefreshLayout
    android:id="@+id/refresh_layout"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.v4.widget.NestedScrollView
        android:id="@+id/nested_scroll_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#FFFFFF">

        <RelativeLayout
         ...
        </RelativeLayout>

    </android.support.v4.widget.NestedScrollView>

</android.support.v4.widget.SwipeRefreshLayout>

虽然我查阅了有关资料,但我仍然感到困惑。有人能帮我吗?提前感谢。

这可能太晚了,但对于仍然遇到这个问题的人来说

添加新项目之前/之后的ReyclerView保存/重置状态

//拯救国家

private Parcelable recyclerViewState;  
recyclerViewState = recyclerView.getLayoutManager().onSaveInstanceState();
//恢复状态

recyclerView.getLayoutManager().onRestoreInstanceState(recyclerViewState);

我发现你没有在onRefresh()中进行任何刷新操作。@Inasedeveloper呃…我对这些东西不熟悉,对编程也不熟悉。。。你能澄清一下吗?好的。让我们从API中获取一些数据并在ListView中显示。因此,我想实现SwipeRefresh,我将在onRefresh()中再次点击api。并使用数据更改更新适配器。
recyclerView.getLayoutManager().onRestoreInstanceState(recyclerViewState);