在片段之间切换时,Recycler View 会再次加载

Recycler View gets loaded again when switching between fragments

所以,我有一个 activity,其中包含三个片段,我正在使用 ViewPager 在片段之间切换。

因此,在我的一个片段中,我使用回收器视图来加载我的数据。我正在使用 onCreateView 来初始化我的视图并填充回收器视图。但这里的问题是当我在片段之间来回切换时,我的回收器视图项目再次加载。我不想要那个。我希望项目只加载一次。

例如。当我在 IMAGES 和 SAVED 选项卡之间来回切换时,回收器视图会在 IMAGES 选项卡中重新加载。(ps。查看图像以更好地理解)

这是我加载回收器视图的片段。

public ImageFragment() {
    // Required empty public constructor
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    statusView = inflater.inflate(R.layout.fragment_image,container,false);
    initViews();
    return statusView;
}

private void initViews() {
    progressBar = statusView.findViewById(R.id.progressBar);
    recyclerView = statusView.findViewById(R.id.statusRecyclerView);
    recyclerView.addItemDecoration(new ListViewItemDecorator(getResources().getDimensionPixelSize(R.dimen.spacing)));
    refreshLayout = statusView.findViewById(R.id.statusSwipeRefreshLayout);
    recyclerView.setHasFixedSize(true);
    adapter = new StatusAdapter(getContext(),arrayList);
    recyclerView.setAdapter(adapter);
    recyclerView.setLayoutManager(new GridLayoutManager(getContext(),2));
    adapter.notifyDataSetChanged();
    recyclerView.scheduleLayoutAnimation();
}

那么有什么方法可以做到这一点吗?

使用 ViewPager2 创建标签栏将解决您的问题。