Intereting Posts
Библиотека Picasso, Android: использование приемника ошибок Как вы добавляете конфигурацию, специфичную для конкретной сборки, в APK? Шифрование данных на Android, AES-GCM или простой AES? Android ExpandableListView не расширяется / не изменяется Как читать и редактировать события календаря Android с помощью нового Android 4.0 Ice Cream Sandwich API? Как заставить FAB не перемещаться в ViewPager, но быть частью фрагмента внутри? Тяжесть TextView Предотвращение открытия операции несколько раз. Изменение цвета экрана Android 5.0 Как удалить виджет, когда приложение будет удалено на Android? Как остановить прокрутку экрана вверху по выбору spinner в android Как имитировать элементы списка listView, например, в приложении контактов Lollipop? Как программно определить, может ли приложение в магазине воспроизведения быть установлено на текущем устройстве? Как удалить модуль в Android Studio Как начать новую строку с места для следующей строки в Html.fromHtml для просмотра текста в android

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

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

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

Так что мне нужно что-то вроде removeTab(int index)

Solutions Collecting From Web of "Как удалить вкладку из TabHost"

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

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

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

  • removeView(View view)
  • removeViewAt(int index)
  • removeViewInLayout(View view)

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

Намного легче:

  tabHost.getTabWidget().removeView(tabHost.getTabWidget().getChildTabViewAt(3));