首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android:如何动态更改打开的标签

Android:如何动态更改打开的标签
EN

Stack Overflow用户
提问于 2010-10-15 20:56:33
回答 4查看 4.8K关注 0票数 0

我有一个Android应用程序,它有四个标签(我使用带有TabHost和TabSpecs的主TabActivity )。在我的一个子活动(在选项卡中打开的活动)中,我需要打开选项卡,而不是通过单击选项卡标题,我不知道如何做到这一点。例如,我的活动中有一个按钮,当我单击它时,它会打开一个不同的选项卡。目前,这是我所做的:

Intent intent = new Intent(myActivity.this, myTabActivity.class);

intent.putExtra("ComeFrom", true);

intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

startActivity(intent);

然后在TabActivity中,如果我真的读到了"ComeFrom“额外的内容,我打开了愿望标签,但问题是它会杀死所有其他的活动。所以,如果有人知道更好的(更干净的)方法,请告诉我…

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-10-15 21:22:38

你必须使用TabHost的"setCurrentTab(...)“就为了这个。在我的一个项目中,我在main活动(带有TabHost的那个)中创建了一个静态方法,名为"swtichToTab(int tab)“。在我的子活动中(选项卡中的那些),可以只调用"MainActivity.switchToTab()“来触发切换。

这可能不是最干净的方法,我相信你也可以使用广播意图来实现这一点。

票数 0
EN

Stack Overflow用户

发布于 2011-02-04 01:02:25

(我想)找到了一个更简单的答案:

TabActivity上的

  1. 声明一个公共、静态和自变量,并将其填充到onCreate方法中。F.e.:

公共类TheActivity扩展了TabActivity { public static TheActivity self;... @Override public void (捆绑包savedInstanceState) {self=this;

  • 在选项卡中运行的任何活动上,当您想要更改应用程序上显示的活动时。您可以这样做:

tabHost.setCurrentTab(0);;TabHost tabHost =TheActivity.self.getTabHost()

对我来说没问题,希望能为别人服务!

票数 5
EN

Stack Overflow用户

发布于 2010-10-15 21:30:14

您可以创建BroadcastReceiver并发送带有选项卡索引的广播作为额外内容

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3942393

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档