1

タブ付きのアプリケーションを作成しています。そのアプリでは、同じTabViewことが階層内の複数のアクティビティに表示されます。そのために私は使用しActivityGroupました。

私のアプリケーションでは、タブを含む最初のアクティビティからその子アクティビティに移動でき、子アクティビティのボタンを押すことで前のアクティビティに戻ることができます。これらの2つのアクティビティ間を移動しているときに、数回操作した後にStackOverflowErrorが発生します。旗を立ててみました

Intent.FLAG_ACTIVITY_CLEAR_TOP

しかし、それは役に立ちません。私も試しました

finish() 

しかし、それは全体を終了しますActivityGroup。それから私は方法を試しました

finishActivityFromChild() 

しかし、それでも同じエラーが発生します。

これは、タブを含む最初のアクティビティからその子に移動するための私のコードです-

intent = new Intent(context, ChildActivity.class);
View view = getLocalActivityManager().startActivity("activity2", intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)) .getDecorView(); 
setContentView(view);
finishActivityFromChild(getCurrentActivity(), 0);

そして、ボタンをクリックして親のアクティビティに戻るために使用しているのと同じコード-

public void onClick(View arg0) {
    intent = new Intent(context, ParentActivity.class);
    View view = getLocalActivityManager().startActivity("activity1", intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)) .getDecorView(); 
setContentView(view);
finishActivityFromChild(getCurrentActivity(), 0);
}

今、私はこの問題に対して何をすべきか分かりません。どんな助けでも大歓迎です。前もって感謝します。

4

1 に答える 1

0

ここで役立つコードがあると思います。私があなたなら、呼び出された関数のプリントアウトをたくさん試し、スタックオーバーフローを引き起こす可能性のある再帰的に呼び出されている関数を確認します。(一部のブレークポイントでもうまくいく可能性があります)

于 2013-03-13T11:40:59.627 に答える