私は単に 2 つのタブを持っていて、TabActivity 内の複数の Android アクティビティを参照としてエクスペリエンスを使用しました。
私のクラス アーキテクチャは次のようなものです
。MainActivity は TabActivityを拡張
し
ます Tab1Activityは MapActivity (複数のマーカーを持つ)
2を拡張します。TabGroup2Activity は
TabGroupActivity 2.iを拡張します。Tab2Activity
2 番目のタブ (Tab2Activity) では、複数のマーカーを持つ Google マップを表示します。マーカーをテーピングすると、下部にあるタブを失うことなく、同じタブの下で新しいアクティビティを開始したいと考えています。
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);
この問題を解決するにはどうすればよいですか??