SwipeRefreshLayout + NestedScrollView:无法刷新数据

时间:2018-07-14 03:15:03

标签: java android swiperefreshlayout android-nestedscrollview

我在使用SwipeRefreshLayout + NestedScrollView时遇到了问题。问题是,当一切正常时(可以加载应用程序的每个项目而不会崩溃,并且可以执行刷卡刷新),因此无法更新数据。但是,当我重新启动应用程序时,可以加载新数据(来自API),这意味着数据很好。我的var image = await PicturePicker.PickImage(); Image img = ImageSource.FromStream(image); MainActivity.java分别如下:

activity_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>

尽管我查找了相关信息,但仍然感到困惑。谁能帮我吗?预先感谢。

1 个答案:

答案 0 :(得分:0)

这可能为时已晚,但对于仍然遇到此问题的人来说

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

//保存状态

private Parcelable recyclerViewState;  
recyclerViewState = recyclerView.getLayoutManager().onSaveInstanceState();

//恢复状态

recyclerView.getLayoutManager().onRestoreInstanceState(recyclerViewState);