3

ActivityGroupを含むTabActivityを持つアプリケーションがあります。各タブは正常に機能しますが、特定の1つのタブをクリックすると、最初の子アクティビティに戻ります(このタブの子アクティビティまたは別のタブ内にいるときはいつでも)。

ActivityGroupのonResumeで必要なアクティビティを開始しようとしました。これは、別のタブにいるときは機能しますが、このタブにいるときは子アクティビティで機能しません。

このタブにはFLAG_ACTIVITY_CLEAR_TOP以外のインテントフラグを使用する必要がありますか?誰かが手がかりを持っていますか?

ありがとう。

4

1 に答える 1

1

通常、ActivityGroupには、ある種の履歴があります。

あなたの歴史は次のとおりだとしましょう:

ArrayList<View> history;

もちろん、履歴は初期化され、次のコマンドで取得できるいくつかのビューが含まれている必要があります。

getLocalActivityManager().startActivity(clazz.getName(), new Intent(this, clazz)).getDecorView();

ここで、clazzは子供のアクティビティのクラスです。したがって、現在のActivityGroupをクリックすると、次のようなメソッドが定義されます。

public void backToFirst() {
    int size = history.size();
    while (size > 1) {
        history.remove(size - 1);
        size = history.size();
    }
    setContentView(history.get(0));
}

私があなたを正しく理解し、これがあなたが探している答えであることを願っています。

于 2011-05-25T15:52:07.977 に答える