我只有 2 个选项卡,并使用Experience - Multiple Android Activity in a TabActivity作为参考。
我的类体系结构是这样的:
MainActivity 扩展 TabActivity
1. TabGroup1Activity扩展 TabGroupActivity (从上面的参考实现的 TabGroupActivity 类)
1.i。Tab1Activity扩展 MapActivity(它有多个标记)
2. TabGroup2Activity扩展 TabGroupActivity
2.i。Tab2Activity
在第二个选项卡(Tab2Activity)中,我显示了具有多个标记的谷歌地图。在点击标记时,我想在同一选项卡下开始新的活动,而不会丢失底部的选项卡。
这是 ItemizedOverlayItem 类:
MapItemizedOverlay.java
public class MapItemizedOverlay extends ItemizedOverlay<OverlayItem> {
private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>();
private Context mContext;
public InformationItemizedOverlay(Drawable defaultMarker, Context context) {
super(boundCenterBottom(defaultMarker));
mContext = context;
}
public void addOverlay(OverlayItem overlay) {
mOverlays.add(overlay);
populate();
}
@Override
protected OverlayItem createItem(int i) {
return mOverlays.get(i);
}
@Override
public int size() {
return mOverlays.size();
}
@Override
protected boolean onTap(int index) {
OverlayItem item = mOverlays.get(index);
//what code i have to write to start new activity without loosing tabs at bottom
}
}
我知道我必须编写以下代码才能在同一选项卡下启动新活动,但对于上面的示例,我无法编写 getParent()。
Intent in = new Intent(getParent(), TestActivity.class);
TabGroupActivity parentActivity = (TabGroupActivity) getParent();
parentActivity.startChildActivity("in", in);
我该如何解决这个问题?