簡體   English   中英

調用finish()后,ActivityGroup的子活動未完成

[英]Child Activity of ActivityGroup is not finished after finish() is called

我有一個使用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的onCreate() ,我使用startActivityResult()啟動C; 在C中,它將向用戶顯示一個按鈕; 用戶單擊按鈕后,C將調用finish()setResult(); 然后在B的onActivityResult() ,嘗試使用finish()方法退出所有應用程序。

問題是按下按鈕后屏幕變成黑色。 然后我也使用hierarchyviewer.bat也可以看到視圖; 令我驚訝的是,有一個ID為R.id.content的視圖和另一個沒有ID的根視圖。 工具顯示活動B在頂部。 我知道id為R.id.content的視圖是Activity的根視圖,但是我不知道為什么在調用finish()之后它仍然存在。 您知道, finish()之后沒有其他邏輯,那里沒有其他接收者,或者任何其他接收者都可以阻塞完成。

也許是因為我對ActivityGroup使用不正確。 有人可以幫忙嗎?

感謝您對我關於stackoverflow的第一個問題的回答。

我知道根本原因,這是因為我使用了B的singleTask活動,但其他一些活動卻作為新任務啟動,但仍未完成。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM