Обновление вкладок из активности вкладок в Android TabHost - PullRequest
9 голосов
/ 31 мая 2010

У меня есть TabActivity, и у меня будет 3 или 4 вкладки.

В TabA я хотел бы иметь ExpandableListView, в котором будут перечислены продукты. Я хотел бы, чтобы TabC действовал как своего рода «корзина покупок», возможно, с самим ListView.

Есть ли способ взаимодействия с TabHost из Activity? Я хотел бы иметь возможность нажать кнопку внутри TabA и обновить ее и переключиться на TabC. Это возможно? Можно ли заставить действия Tab вызывать методы ее родителей?

Ответы [ 4 ]

16 голосов
/ 31 мая 2010

Если вы реализуете свои вкладки как представления, а не как отдельные действия, это будет намного проще, быстрее работать, занимать меньше памяти и будет лучшим решением ИМХО.

Как говорится, во вкладке A Activity позвоните getParent(), чтобы получить значение TabActivity. Затем вы можете использовать методы, указанные неуважением.

3 голосов
/ 17 июля 2012

Попробуйте использовать этот код для изменения активности на вкладке:

TabActivity parent = (TabActivity) getParent();
TabHost tabhost = parent.getTabHost();
tabhost.setCurrentTab(0);
1 голос
/ 28 мая 2012
  1. В своей активности используйте getParent (), чтобы получить родительский элемент TabActivity
  2. В вашем классе TabActivity используйте getLocalActivityManager (). GetActivity (tabId), чтобы получить объект Activity
  3. вызов метода объекта Activity
1 голос
/ 31 мая 2010

Вы можете вызвать getTabHost из TabActivity, см. public TabHost getTabHost () .

См. Tabhost для setCurrentTab, public void setCurrentTab (int index) .

...