0

がありTabActivity、タブが訪問されたアクティビティを再作成したい(onCreate()各訪問のコンテンツを呼び出す)。どうやって ?

4

3 に答える 3

2

あなたが使用することができます....

this.finish(); // this is instance of TabActivity

.... 現在のインテントを閉じて、新しいインテントを作成するには

Intent intent = new Intent(this, TabActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK) 
startActivity(intent);

編集: Intent.FLAG_ACTIVITY_CLEAR_TOP実際にもうまくいくようですおそらく機能しないでしょう。既存の活動をもたらすことを意図していますが持ち込まれただけ前に(レクリエーションなし)。

詳しくはこちらをご覧ください。

乾杯!

于 2013-04-20T09:50:30.737 に答える
2
public void onResume()

このメソッドは、アクティビティがフォアグラウンドになるたびに呼び出されます。だからあなたがする必要があるのは、このメソッドをオーバーライドすることだけです

public void onResume(){
    super.onResume();
   // do your stuffs
}

アクティビティのライフサイクルの詳細については、このドキュメントを参照してください

毎回 onCreate を呼び出したい場合、アクティビティがフォアグラウンドになるたびに初期化タスクがあるようです。したがって、私の提案は、onCreate の代わりに onResume で初期化を使用することです。

于 2013-04-20T09:46:42.663 に答える
1

各タブのインテントを開始する前に、インテント フラグを「クリア トップ」に設定します。

すなわち

intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

この質問の参考のために私の答えをチェックしてください activity-in-tabactivity-doesnt-run-oncreate-method-when-clicked-second-time

于 2013-04-20T09:44:18.633 に答える