Android 每当我回到同一个片段时,片段都会创建重复的标签

Android Fragment create duplicate tabs every time when I come back to same fragment

我使用框架布局和带标签的片段创建了示例 activity。但是,当我切换到其他 activity/fragment 而不是返回相同的 activity/fragment 时,它总是为选项卡创建重复的条目或视图。例如,我有 tab1 和 tab2,当我第一次查看 activity 时它显示两个选项卡,但是当我切换到其他 activity 并返回到选项卡 activity 时它显示四个选项卡, 'tab1, tab2, tab1, tab2'。

这是我的代码

public View onCreateView(LayoutInflater Inflater, ViewGroup Container,Bundle savedInstanceState) {

    if(savedInstanceState==null) {
        rootView = Inflater.inflate(R.layout.loanapplicationview, Container, false);

        actionBar = getActivity().getActionBar();

        // Hide Actionbar Icon
        actionBar.setDisplayShowHomeEnabled(true);

        // Hide Actionbar Title
        actionBar.setDisplayShowTitleEnabled(true);

        // Create Actionbar Tabs
        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

        // Set Tab Icon and Titles
        Tab1 = actionBar.newTab().setText("Tab1");
        Tab2 = actionBar.newTab().setText("Tab2");


        // Set Tab Listeners
        Tab1.setTabListener(new TabListener(fragmentTab1));
        Tab2.setTabListener(new TabListener(fragmentTab2));


        // Add tabs to actionbar
        actionBar.addTab(Tab1);
        actionBar.addTab(Tab2);

    }
    return rootView;
  }
 }

ActionBar().removeAllTabs() 将删除附加到您的 ActionBar 的所有标签。 在添加新标签之前使用此方法清除之前的标签

   actionBar.removeAllTabs();

// Add tabs to actionbar
    actionBar.addTab(Tab1);
    actionBar.addTab(Tab2);

您应该在添加选项卡之前检查它们是否存在。

if (actionBar.getTabCount() == 0) {
    // Set Tab Icon and Titles
    Tab1 = actionBar.newTab().setText("Tab1");
    Tab2 = actionBar.newTab().setText("Tab2");

    // Set Tab Listeners
    Tab1.setTabListener(new TabListener(fragmentTab1));
    Tab2.setTabListener(new TabListener(fragmentTab2));

    actionBar.addTab(Tab1);
    actionBar.addTab(Tab2);
}