2012-01-05 74 views
0

我在活动中有2个选项卡,并且我想添加一个新选项卡并添加一个Google地图,所以我需要创建一个扩展了mapactivity的活动。到现在为止还挺好。 但我不知道如何选择标签才能显示地图。调用另一个不同活动的活动中的选项卡

这是我的代码

TabHost tabhost =(TabHost)findViewById(R.id.tabHost); tabhost.setup();

TabSpec spec1 = tabhost.newTabSpec("tab1"); 
    spec1.setContent(R.id.tab1); 

    TabSpec spec2 = tabhost.newTabSpec("tab2"); 
    spec2.setContent(R.id.tab2); 

    TabSpec spec3 = tabhost.newTabSpec("map"); 
    spec3.setContent(R.id.tab3); 

    tabhost.addTab(spec1); 
    tabhost.addTab(spec2); 
    tabhost.addTab(spec3); 

标签1和片2正在作为码是所有在相同的活性。

有帮助吗?

回答

0
tabSpec=tabHost.newTabSpec("tab1"); 
    tabSpec.setIndicator("CLASS A"); 
    Intent i=new Intent(this,ClassA.class); 
    tabSpec.setContent(i); 
    tabHost.addTab(tabSpec); 

    tabSpec=tabHost.newTabSpec("tab2"); 
    tabSpec.setIndicator("CLASS B"); 
    Intent i=new Intent(this,ClassB.class); 
    tabSpec.setContent(i); 
    tabHost.addTab(tabSpec); 
0

您应该Fragments而不是Activities工作,以实现这一目标。 对于蜂窝前设备,有一个兼容性API可以使用Fragments

随着Fragments你可以使用FragmentTransation切换到谷歌地图在相同的Tab

+0

我正在使用蜂窝。那是问题吗?你能给我一个示例代码吗?我是否必须更改所有的代码,因为它已经接近准备好了。我只需要添加此标签与谷歌地图。 – Adnama 2012-01-05 10:28:05

+0

如果您使用的是蜂巢,您可以使用碎片。 我认为如果你正在开发蜂窝或更高版本,你应该使用片段。 [这里](http://developer.android.com/guide/topics/fundamentals/fragments.html)是开始使用片段的一些信息。 – 2012-01-05 11:02:27

1

我听说过MapViewMapFragment,但我不确定MapActivity的意思 - 可能是有人给你的自定义活动。但无论如何,我建议你创建一个MapView或MapFragment,并在用户点击应用程序中的Map-Tab时返回。您不必触发其他活动即可显示地图屏幕。使用spec3.setContent(MapViewInstance)spec3.setContent(MapFragmentInstance)来实现你所需要的。 HTH。

相关问题