我在使用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>
尽管我查找了相关信息,但仍然感到困惑。谁能帮我吗?预先感谢。
答案 0 :(得分:0)
这可能为时已晚,但对于仍然遇到此问题的人来说
在添加新项目之前/之后,ReyclerView的保存/重置状态
//保存状态
private Parcelable recyclerViewState;
recyclerViewState = recyclerView.getLayoutManager().onSaveInstanceState();
//恢复状态
recyclerView.getLayoutManager().onRestoreInstanceState(recyclerViewState);