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);
        });
posted @ 2022-04-13 09:29  指切  阅读(705)  评论(0编辑  收藏  举报