我在活动中有两个标签,我想添加一个新标签并添加一个谷歌地图,所以我需要创建一个扩展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 :(得分:1)
我听说过MapView和MapFragment,但我不确定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地图。