Как закрыть одну вкладку в Android Tablayout без очистки всех вкладок и повторного добавления - PullRequest
0 голосов
/ 02 сентября 2011

Существует способ добавить вкладку в TabHost, а также очистить все вкладки, но нет API для удаления одной вкладки.

Следуя логике в clearAllTabs пытался

tabwidget.removeViewAt(index);
tabHost.getTabContentView().removeViewAt(index)

После этого поведение странное. Я предполагаю, что это потому, что mTabSpecs все еще содержит ссылку на tabspec. mTabSpecs - это закрытая переменная в TabHost, и нет методов get, чтобы получить ручку для этого.

Как решить проблему, если кто-то хочет закрыть одну вкладку, и да, я попытался очистить все вкладки и добавить обратно все вкладки. Это не работает для моего сценария использования, где некоторые представления содержат некоторую информацию о сеансе. Если я воссоздаю эти вкладки, я вернусь к начальной точке в этих представлениях.

Ответы [ 2 ]

0 голосов
/ 15 сентября 2011

разрешается с помощью View.GONE, но с методом, который специально проверяет видимость перед подсчетом вкладок. недостатком является то, что индекс представления не может быть изменен.

0 голосов
/ 02 сентября 2011

Вы можете попытаться установить Visibility из Tab, который вы хотите close на View.GONE.

...