2011-08-27 51 views
1

我有一個使用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的答案。

回答

0

我知道根本原因,那是因爲我使用了B的singleTask活動,但其他一些活動是作爲新任務啓動的,但尚未完成。

相關問題