FragmentPagerAdapter的片段未显示RecyclerView的项目

时间:2019-05-31 21:57:06

标签: android android-fragments

我认为显示问题的最简单方法是下面的gif。当我在主页片段上并切换到“最近”时,“最近”是带有ViewPager和TabLayout的片段,应该在recyclerView中的项目会正常显示,但是当我返回“主页片段”并返回“最新”时,该项目不再存在。我认为,这与以下事实有关:即使我调用了最近片段的AND (OwnedByTeamJ='C - O Review' OR OwnedByTeamJ is null) ,但回到最近片段时,ViewPager中的第一个“全部”片段却没有被调用称为onCreate()

但是它正在调用onCreate(),我在那里检查了RecyclerView的列表大小,并且其中仍然有该项目,只是没有显示。

我该如何解决?

是否有一种方法可以强制onResume()在它的片段上调用FragmentPagerAdapter,就像回去时的'All'片段一样?

enter image description here

1 个答案:

答案 0 :(得分:0)

找到了解决方案,甚至都不知道在哪里查找问题,因此我没有发布有问题的代码以免使时间太长。

ViewPager中使用Fragment时,在创建getActivity().getSupportFragmentManager()时不要使用FragmentPagerAdapter,而应使用getChildFragmentManager()

因此,在编码方面,请使用以下代码:

MyFragmentPagerAdapter adapter = new MyFragmentPagerAdapter(getActivity(), getChildFragmentManager());

代替:

MyFragmentPagerAdapter adapter = new MyFragmentPagerAdapter(getActivity(), getActivity().getSupportFragmentManager());