9

我有一个 TabActivity 并且将有 3 或 4 个选项卡。

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

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

4

4 回答 4

16

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

话虽如此,在 Tab AActivity中,调用getParent()以获取TabActivity. 然后,您可以使用 disretrospect 指出的方法。

于 2010-05-31T19:44:39.313 回答
3

尝试使用此代码更改选项卡中的活动:

TabActivity parent = (TabActivity) getParent();
TabHost tabhost = parent.getTabHost();
tabhost.setCurrentTab(0);
于 2012-07-17T01:06:30.450 回答
1
  1. 在您的 Activity 中,使用 getParent() 获取 TabActivity 父级
  2. 在您的 TabActivity 类中,使用 getLocalActivityManager().getActivity(tabId) 获取 Activity 对象
  3. 调用 Activity 对象的方法
于 2012-05-28T09:42:31.543 回答
1

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

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

于 2010-05-31T19:42:38.303 回答