从Fragment Tabs Pager示例中删除Tab

时间:2011-11-11 12:03:06

标签: android android-3.0-honeycomb android-fragments fragment android-compatibility

我正在尝试使用Fragment Tabs Pager示例: API 4+ Support Demos/Fragment Tabs Pager并添加abillity以删除标签,因为我需要能够添加和删除标签。

我试过了:

public void removeTab(int position) {
    mTabHost.getTabWidget().removeView(mTabHost.getTabWidget().getChildTabViewAt(position));
}

但这不起作用。

我还尝试删除所有标签页并使用我最初添加标签时存储的tabSpec重新添加标签:

    public void removeTab(int position) {
      mTabHost.setCurrentTab(0);
      mTabHost.clearAllTabs();

      ArrayList<TabInfo> mNewTabs = new ArrayList<TabInfo>();

      mTabs.remove(position);
      int len = mTabs.size();
      for (int i = 0; i < len; i++) {
          TabInfo info = new TabInfo(mTabs.get(i).tag, mTabs.get(i).clss, mTabs.get(i).args, mTabs.get(i).tabSpec);
          mNewTabs.add(info);
          }
      mTabs.clear();
      mViewPager.removeAllViews();
      mTabHost.getTabWidget().getChildAt(position).setVisibility(View.GONE);
      for (int i = 0; i < len; i++) {
        addTab(mNewTabs.get(i).tabSpec, mNewTabs.get(i).clss, mNewTabs.get(i).args);
      }
      notifyDataSetChanged();
    }

这将删除选项卡,但是当实例化选项卡时,则在添加新选项卡时会显示原始片段。

任何人都可以帮我解决这个问题,即能够删除和添加标签或替换标签中的片段。

0 个答案:

没有答案