我有一个使用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会在B的finish()
中调用setResult();
和onActivityResult()
,
我尝试使用方法finish()
退出所有应用程序。
问题是按下按钮后屏幕变黑。然后我也使用hierarchyviewer.bat
查看视图;令我惊讶的是,有一个标识为R.id.content
的视图和另一个没有标识的根视图。工具显示活动B位于顶部。
我知道ID为R.id.content
的视图是Activity
的根视图。但我不知道为什么在调用finish()
之后它仍然存在。你知道,在finish()
之后没有其他逻辑,没有其他接收器,或任何其他接收器可以阻止完成。
可能这是我错误使用ActivityGroup
的问题。有人可以帮忙吗?
感谢您对stackoverflow的第一个问题的回答。
答案 0 :(得分:0)
我知道根本原因,那是因为我使用了B的singleTask活动,但其他一些活动是作为新任务启动的,但仍未完成。