所以,我有一个包含三个片段的活动,我正在使用 ViewPager 在这些片段之间切换。
所以在我的一个 Fragment 中,我使用回收器视图来加载我的数据。我正在使用 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();
}
有没有办法让这一切发生?
答案 0 :(得分:1)
使用 ViewPager2 创建一个标签栏来解决您的问题。