Android 解决Fragment内的RecyclerView重建后内容不显示
布局
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rvContent"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
app:spanCount="4"
tools:listitem="@layout/item_gallery_scanning" />
</androidx.constraintlayout.widget.ConstraintLayout>
当重建或回到手机主页再返回至app时,数据不再显示,原因是数据加载在了未销毁的前一个fragment里面,然后被销毁了,而新建的fragment无数据。
- 解决方法
在RecyclerView渲染完成后再加载数据
rvContent.post(() -> {
if(albumMediaCollection!=null)
albumMediaCollection.load(imageFolder);
});