我有一个TabActivity,并将有3或4个选项卡。更新标签在Android TabHost中的活动选项卡
在TabA中,我想要一个ExpandableListView,它将列出产品。我希望TabC充当一种“购物车”,可能带有一个ListView本身。
有没有一种方法与活动中的TabHost进行交互?我希望能够点击TabA中的一个按钮并更新并切换到TabC。这可能吗?我可以让Tab的活动调用它的父母方法吗?
我有一个TabActivity,并将有3或4个选项卡。更新标签在Android TabHost中的活动选项卡
在TabA中,我想要一个ExpandableListView,它将列出产品。我希望TabC充当一种“购物车”,可能带有一个ListView本身。
有没有一种方法与活动中的TabHost进行交互?我希望能够点击TabA中的一个按钮并更新并切换到TabC。这可能吗?我可以让Tab的活动调用它的父母方法吗?
您可以从TabActivity调用getTabHost,请参阅public TabHost getTabHost()。
请参阅Tabhost for setCurrentTab,public void setCurrentTab(int index)。
如果你实现你的标签作为视图,而不是单独的活动,这会更简单,运行更快,占用更少的内存,并成为更好的解决方案恕我直言。
话虽这么说,在选项卡中Activity
,叫getParent()
得到的TabActivity
。然后,你可以使用disretrospect指出的方法。
如何获得该活动#3中的视图 – Mikey 2012-07-02 09:52:30
尝试使用此代码到一个标签中改变活性:
TabActivity parent = (TabActivity) getParent();
TabHost tabhost = parent.getTabHost();
tabhost.setCurrentTab(0);
1为使用getParent()末端 - 虽然我不理解使用视图而不是活动的建议。我更喜欢分离生命周期的活动,也喜欢分离属于每个标签的代码。 – FrVaBe 2011-02-23 13:57:13
@ K。 Claszen:“分开生命周期” - 他们的生命周期不是分开的。 “也分离属于每个标签的代码” - 以Java类文件形式的代码分离已经存在了15年。您不需要为此使用单独的活动。 – CommonsWare 2011-02-23 14:05:08
感谢您的回复。正如我所观察到的,仅当选择了关联的选项卡时才会调用活动生命周期方法(onCreate等)。我希望能够在选项卡中扩展诸如“ExpandableListActivity”的提供的活动。但是,这两种可能性都是根据需求提供的,并且根据需要而定,所以我只是想知道是否可以提供一般性建议。 – FrVaBe 2011-02-23 14:26:49