【问题标题】:Child Activity of ActivityGroup is not finished after finish() is called调用finish()后ActivityGroup的子Activity没有完成
【发布时间】:2011-08-27 16:01:26
【问题描述】:

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

【问题讨论】:

    标签: android android-activity lifecycle activitygroup


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-28
      • 2012-12-15
      • 1970-01-01
      • 2011-07-06
      相关资源
      最近更新 更多