返回旧页面时无视图显示

时间:2018-08-10 06:40:03

标签: android android-fragments

我有一个包含viewpager和片段(例如A,B,C,D)的布局。 在片段A中,我具有Tablayout,其中动态创建Tab的每个页面

 private void setupViewPager(ViewPager viewPager) {
    adapter = new ViewPagerAdapter(getActivity().getSupportFragmentManager());
    for (int i = 0; i < mergelist.size(); i++) {
        adapter.addFrag(new BlogFragmentContent(), mergelist.get(i).getNc_title(), mergelist.get(i).getNc_id());
        viewPager.setAdapter(adapter);
    }
}

当我第一次进入该布局时,它会显示视图,但是如果我转到任何其他选项卡并返回到此,则不会显示任何内容。

例如:首先我单击“片段A”(现在显示视图),然后转到“片段C”并返回到“片段A”(那里没有视图)。

2 个答案:

答案 0 :(得分:1)

尝试一下

private void setupViewPager(ViewPager viewPager) {
    adapter = new ViewPagerAdapter(getActivity().getSupportFragmentManager());
    for (int i = 0; i < mergelist.size(); i++) {
        adapter.addFrag(new BlogFragmentContent(), mergelist.get(i).getNc_title(), mergelist.get(i).getNc_id());
    }
    viewPager.setAdapter(adapter);  // put this line outside for loop
}

在所有页面添加到适配器后尝试设置适配器。

答案 1 :(得分:1)

由于未通过适当的片段管理器,因此不会保留ViewPager的片段状态。

在下面用于初始化ViewPagerAdapter:

adapter = new ViewPagerAdapter(getChildFragmentManager());

编辑: 是的,将setAdapter行移到for循环之外