我有一個使用ActivityGroup的程序。 類結構如下:ActivityGroup的子Activity在完成後未完成()被調用
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的onCreate()
中,我使用startActivityResult()
來啓動C;在C中,它會向用戶顯示一個按鈕;用戶點擊該按鈕後,C將調用finish()
和setResult();
,然後在B的onActivityResult()
, 我嘗試使用方法finish()
退出所有應用程序。
問題是按下按鈕後屏幕變成黑色。然後我用hierarchyviewer.bat
也看到了意見;令我驚訝的是,有一個ID爲R.id.content
的視圖和另一個沒有ID的根視圖。這些工具顯示活動B位於頂部。 我知道編號爲R.id.content
的視圖是Activity
的根視圖。但我不知道爲什麼它在調用finish()
後仍然存在。你知道,finish()
之後沒有其他的邏輯,也沒有其他的接收器,或者任何其他的可以阻止完成。
也許這是我的錯誤使用ActivityGroup
的問題。誰能幫忙?
感謝您對我的第一個問題在stackoverflow的答案。