1

ActivityGroup を使用したプログラムがあります。クラス構造は以下のとおりです。

Class A extends ActivityGroup {
onCreate(){
}
}

Class B extends A {
onCreate() {
startActivityResult();//launch C
}

onActivityResult(){
...
finish();//finish activity after receive result from C;this line of code does execute in test
...
}
}

Class C extends A {
onCreate(){
...
}
}

Bはプログラム全体の入り口です。B'sでは、 C を起動するためonCreate()に使用します。startActivityResult()C では、ユーザーにボタンを表示します。ユーザーがボタンをクリックすると、C が呼び出さfinish()setResult();、BonActivityResult()でメソッドを使用してfinish()すべてのアプリケーションを終了しようとします。

問題は、ボタンを押した後に画面が黒くなることです。次にhierarchyviewer.bat、ビューも参照します。驚いたことに、id を持つビューと、idR.id.contentのない別のルート ビューがあります。ツールは、アクティビティ B が一番上にあることを示しています。id のビューR.id.contentが のルート ビューであることはわかっていますが、呼び出されたActivity後もまだそこにある理由がわかりません。finish()ご存知のように、後に他のロジックはなく、finish()他の受信者もそこにいません。または、他の受信者がブロックして終了することはできません。

多分それは私の間違った使い方の問題ですActivityGroup。誰でも助けることができますか?

スタックオーバーフローに関する私の最初の質問に対する回答ありがとうございます。

4

1 に答える 1