Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android studio 在片段之间切换时,将再次加载回收器视图_Android Studio_Android Fragments_Android Recyclerview_Android Fragmentactivity - Fatal编程技术网

Android studio 在片段之间切换时,将再次加载回收器视图

Android studio 在片段之间切换时,将再次加载回收器视图,android-studio,android-fragments,android-recyclerview,android-fragmentactivity,Android Studio,Android Fragments,Android Recyclerview,Android Fragmentactivity,因此,我有一个包含三个片段的活动,我正在使用ViewPager在片段之间切换 因此,在我的一个片段中,我使用了一个recycler视图来加载我的数据。我正在使用onCreateView初始化我的视图,并填充回收器视图。但这里的问题是,当我在片段之间来回切换时,我的回收器视图项目再次被加载。我不想那样。我希望项目只加载一次 例如,当我在图像和保存标签之间来回切换时,回收器视图会在图像标签中重新加载 这是我加载回收器视图的片段 public ImageFragment() { // Req

因此,我有一个包含三个片段的活动,我正在使用ViewPager在片段之间切换

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

例如,当我在图像和保存标签之间来回切换时,回收器视图会在图像标签中重新加载

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

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创建一个选项卡栏来解决您的问题