4 つのタブを持つタブホストを含む Android アプリケーションを開発しています。4 つのタブはすべて、アクティビティ グループを拡張する同じクラス Activity1 に移動します。
Activity1 から、次のコードを使用して別のアクティビティ Activity2 に移動しています。
Intent intent = new Intent(arg1.getContext(), Activity2.class);
replaceContentView("sample", intent, Intent.FLAG_ACTIVITY_CLEAR_TOP);
public void replaceContentView(String id, Intent newIntent, int flag) {
View view = getLocalActivityManager().startActivity(id,newIntent.addFlags(flag)).getDecorView();
this.setContentView(view);
この新しいアクティビティから、デバイスの戻るボタンが押されたときに Activity1 に戻る必要があります。Activity2 の onbackpressed() メソッドを次のコードでオーバーライドしました。
Intent intent = new Intent(this, Activity1.class);
Activity parentActivity = (Activity1)getParent();
parentActivity.replaceContentView("sample", intent, Intent.FLAG_ACTIVITY_REORDER_TO_FRONT );
コードを実行すると、実際には Activity2 から移動しますが、Activity1 からも移動します。必要なのは、Activity2 から Activity1 に戻ることです...誰か助けてくれますか?