我的应用是一个新闻应用,包含新闻列表片段NewsDetailsFragment
(包含菜单,搜索等)。我正在使用单一活动模型,每个屏幕都由片段表示。 NewsDetailsFragment
包含ViewPager
(图库)。
当我最初导航到NewsDetailsFragment
时,如果我加载了NewsDetailsFragment
片段的新实例,则会加载库,从菜单中选择其他新闻,进行搜索等。{第二个ViewPager
中的{1}}将不会显示图像,尽管NewsDetailsFragment
显示一切正常,数据存在,适配器调用getView()......
所以基本上如果有一个加载的画廊ViewPager,只有当我按下Back直到我没有片段(因此没有运行ViewPager)时,任何更多Log
都不会显示他们的画廊,只有当我打开一个NewsDetailsFragment
的新实例,它将加载图库。
我希望我能清楚地解释一下。我尽我所能,现在我一无所知。
这是我在加载后将图库数据传递给ViewPager的方法(代码摘自NewsDetailsFragment):
NewsDetailsFragment
ArticleAlbumAdapter:
ViewPager pager = (ViewPager) getView().findViewById(R.id.vpAlbum);
ArticleAlbumAdapter adapter = new ArticleAlbumAdapter(getActivity().getSupportFragmentManager(), article.album);
pager.setAdapter(adapter);
答案 0 :(得分:1)
将ViewPager传递给当前Fragment的getChildFragmentManager()而不是活动的FragmentManager。根据您的描述,我假设您创建第一个ViewPager的主屏幕也是片段。由于ViewPager是Fragment的子代,而它反过来创建子Fragment,它需要子FragmentManager而不是主Fragment。