繁体   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