调用另一个不同活动的活动中的选项卡

时间:2012-01-05 10:15:19

标签: java android eclipse

我在活动中有两个标签,我想添加一个新标签并添加一个谷歌地图,所以我需要创建一个扩展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正在运行,因为代码全部属于同一活动。

任何帮助?

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分: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);

答案 2 :(得分:0)

您应该使用Fragments代替Activities来实现这一目标。 对于pre-Honeycomb设备,有一个兼容性API可以使用Fragments

使用Fragments,您可以使用FragmentTransation切换到同一Tab内的Google地图。