1

我有一个使用 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'sonCreate()中,我使用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 的第一个问题的回答。

4

1 回答 1

0

我知道根本原因,那是因为我使用了 B 的 singleTask 活动,但其他一些活动作为新任务启动但仍未完成。

于 2011-09-20T07:15:22.343 回答