从Android TabHost中的选项卡活动更新选项卡

时间:2010-05-31 18:14:44

标签: android android-activity android-intent android-tabhost

我有一个TabActivity,我将有3或4个标签。

在TabA中,我想要一个ExpandableListView,它将列出产品。我希望TabC充当一种“购物车”,可能还有自己的ListView。

有没有办法与Activity中的TabHost交互?我希望能够单击TabA内的按钮并更新并切换到TabC。这可能吗?我可以让Tab的活动调用其父项方法吗?

4 个答案:

答案 0 :(得分:16)

如果您将选项卡实现为视图而不是单独的活动,这将更简单,运行更快,占用更少的内存,并成为更好的解决方案恕我直言。

话虽如此,在标签A Activity中,请致电getParent()以获取TabActivity。然后,您可以使用disretrospect指出的方法。

答案 1 :(得分:3)

尝试使用此代码更改标签中的活动:

TabActivity parent = (TabActivity) getParent();
TabHost tabhost = parent.getTabHost();
tabhost.setCurrentTab(0);

答案 2 :(得分:1)

您可以从TabActivity调用getTabHost,请参阅 public TabHost getTabHost()

请参阅Tabhost了解setCurrentTab, public void setCurrentTab(int index)

答案 3 :(得分:1)

  1. 在您的Activity中,使用getParent()获取TabActivity父级
  2. 在TabActivity类中,使用getLocalActivityManager()。getActivity(tabId)来获取Activity对象
  3. 调用Activity对象的方法