Удалить вкладку из фрагмента вкладок Pager пример - PullRequest
3 голосов
/ 11 ноября 2011

Я пытаюсь использовать пример пейджера вкладок фрагмента: API 4+ Поддержка демонстраций / вкладок фрагментов и добавить возможность удаления вкладки, потому что мне нужно иметь возможность добавлять и удалять вкладки,

Я пробовал:

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();
    }

Это удаляет вкладку, но когда вкладка была создана, то при добавлении новой вкладки отображается оригинальный фрагмент.

Может кто-нибудьпомогите мне решить эту проблему, заключающуюся в возможности удалять и добавлять вкладки или заменять фрагмент внутри вкладки.

...