2009-12-31 55 views
4

TabHost中有4个标签,让它们成为A,B,C和D.现在每个标签只是一个索引页面,点击其中任何一个都会显示不同的活动。android标签 - 开始一个新的活动

问题是,当用户从选项卡中显示的内容中选择某些内容时,我需要启动另一个活动。其他活动也应显示在父标签本身中。可能吗?或者我会不得不尝试其他的东西?

+0

http://richipal.com/post/2624844577尝试此链接:) ,,它为我工作 – 2012-09-06 11:13:52

回答

2

难道你不能改变你的标签的contentView而不是开始一个新的活动吗?

也许我错了,但我认为在一个标签中开始一个活动是不可能的,因为TabView托管在一个活动中,而不是相反(Tabview不托管一个活动每个标签)。

+0

是否有无论如何,我可以擦除所有的内容,并将其替换为另一种布局......这将是有益的,如果你可以给一些资源或简单的编码... – JaVadid 2009-12-31 10:29:44

+0

猜所以...所以它似乎不可能...实际上我需要保存以前的活动的状态太... – JaVadid 2009-12-31 10:31:18

+0

我不熟悉标签,尝试看TabHost javadoc(http://developer.android.com/reference/android/widget/TabHost.html)。 – tbruyelle 2009-12-31 11:24:41

1

来概括,那Rukmal迪亚斯提供的链接。这里就是你要做的:

  1. 更改当前活动(这是一个标签)从的ActivityGroup
  2. 导出为要切换到
  3. 复制/粘贴,并把这种活动新意图“机器人:ID”在当前的活动,其中“ID”是功能要切换到

    public void replaceContentView(String id, Intent newIntent){ 
         View view = getLocalActivityManager().startActivity(id,newIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)) .getDecorView(); 
         this.setContentView(view);} 
    

这里新活性布局的示例我如何拨打电话以切换当前选项卡式活动的视图:

public void switchToNextActivity(View view) 
{ 
    Intent myIntent = new Intent(getApplicationContext(), MyNextActivity.class); 
    replaceContentView("next_activity", myIntent); 
} 
0

它失去了视图层次结构。当你按下后退按钮,在我的情况下,应用程序关闭。

+1

这是如何回答原始问题? – cha0site 2012-03-29 12:50:32