2011-08-22 138 views
2

我阅读了有关活动堆栈和在论坛上搜索答案的文档,但找不到解决方案。 我有活动A(这是一个ImageView)和活动B(是一个GridView)。当用户点击GridView活动A中的某张图片时,会打开相应的图片。替换活动堆栈中的活动

所以我在活动摞这样的情况在GridView中选择另一张照片后: ... - > A(图1) - > B(网格) - > A(图2)

但我想有:... - > B(网格) - A(图2)

我尝试了不同的启动模式: 如果A是一个singleInstance - 选择在网格中的任何图片后,活性的旧图像 如果打开A是singleTask - 我得到的情况:A(图片1) - > B(网格) - > A(图2)

任何人可以给我一个POI nt如何以我需要的方式管理我的活动?

谢谢

回答

2

重写活动A的onPause()并调用finish();

因此“返回”时被压在ImageView的它将从堆栈中取出。

那么你的筹码将永远只能是:网格 - >图像

此外,如果你的活动发送到后台(与home键),你的筹码是:电网

+0

谢谢你的回答!它真的适合我。但有没有办法解决这个问题,而不会覆盖onPause(onStop等)? – Infernus

+0

重写onPause():-)是正确的,这是他们在那里。向下滚动到这里的生命周期以获取最新的内容:http://developer.android.com/reference/android/app/Activity.html如果此问题得到解决,请将问题标记为已回答。 (在0下面的答案左边按下绿色勾号)这有助于他人。 – Blundell

+0

onPause()存在问题 - 活动将在离开活动后完成A)但是我需要活动A只有当我用新信息启动A时才会完成活动。直到那时我需要A在活动堆栈中。你知道这个问题的解决方案吗? 我会很感激。 – Infernus

0

你需要完成你的活动A当你回到B时,我假设你没有使用标准的后退机制,并打开另一个活动B因此你的问题。