我有一个使用 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 的第一个问题的回答。