android-studio - 在片段之间切换时,Recycler View 再次加载
问题描述
所以,我有一个包含三个片段的活动,我正在使用 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 创建一个标签栏来解决您的问题。
推荐阅读
- c# - 测试我的工作流程的终端在哪里
- assembly - 使用带有 ARM 组件的 16x2 LCD 显示器
- wpf - 具有多个数据模板的自定义控件项控件
- visual-studio - Visual Studio 2019 是否支持 64 位自定义可视化工具?
- sql - SQL (Oracle) - 选择记录不存在或第二个表中的另一列为真
- java - R2DBC 数据库客户端未调用 doOnSuccess 或终止嵌套调用
- snowflake-cloud-data-platform - XML 数据检索
- reactjs - React-native ScrollView,自动滚动行为
- c# - 如何在datagridview中对配对条目进行颜色编码?
- jquery - jQuery中的HTML标签