Как удалить вкладку из TabHost

В виджете TabHost я могу создать новую вкладку с ее содержанием (Намерение), использующее TabHost.addTab (TabHost. TabSpec tabSpec).

Мы можем удалить все вкладки, которые мы создали путем вызова clearAllTabs (), но я не могу выяснить, как удалить вкладку или просто заменить содержание (Намерение) во вкладке с новым Намерением.

таким образом, как что я нуждаюсь в чем-то removeTab(int index)

14
задан Anwar Chandra 21 July 2010 в 13:41
поделиться

1 ответ

Фактически, clearAllTabs делает это:

public void clearAllTabs() {
  mTabWidget.removeAllViews();
  initTabHost();
  mTabContent.removeAllViews();
  mTabSpecs.clear();
  requestLayout();
  invalidate();
}

И метод removeAllViews происходит от класса ViewGroup . К счастью, ViewGroup действительно имеет методы для удаления только одного представления:

  • removeView (представление представления)
  • removeViewAt (int index)
  • removeViewInLayout (представление представления)

Зная это, я бы рекомендуется создать подкласс TabWidget и TabHost , чтобы добавить необходимое поведение. Может быть, есть более простой способ, но это единственный, о котором я могу думать. Удачи

13
ответ дан 1 December 2019 в 07:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: