我已经搜索过了,并找到了几个问题的答案,并且尝试了所有的答案,但都没有成功。我真的不知道后面的堆栈是如何工作的,意图标志或者finish方法。这是我的装置:
在应用程序启动时,有一个启动屏幕,其中有一对AsyncTasks在后台运行,并检查两个for服务器以获得更新的内容。ProgressDialogs报告状态。完成后(通过最后一个onPostExecute),我启动了一个新的活动("Home")。这似乎反映了其他一些帖子,但我认为我的原因是Home是一个带有4个选项卡的TabActivity,最初在选项卡0上调用setCurrentTab。
因此,使用之前发布的建议:
用户看到水花,TabActivity启动,用户点击另一个选项卡,然后点击回-应用程序关闭(而不是强制关闭-只是关闭回到设备主屏幕)。
如果我不使用其中的任何一个,当用户在切换到另一个选项卡后按回时,他们会返回Splash屏幕并被卡住(我可以添加一个按钮或其他东西将它们带到Home TabActivity,但这不是最佳的)。
所期望的结果是,用户看到Splash,被带到Home TabActivity,单击另一个选项卡,然后按回,他应该被带回到初始设置选项卡(选项卡0)。
任何洞察力都是值得赞赏的。
TYIA
发布于 2011-12-08 12:35:05
后面的堆栈实际上被正式称为活动堆栈--每次启动活动时,都会将其推到堆栈的顶部(除非您设置了您提到的这些标志之一)。
这意味着除非主应用程序中的每个选项卡是单独的活动,否则默认的回键行为将是离开主应用程序活动。
您可以通过接管后钥匙或重写选项卡切换行为来控制这一点,以启动不同的活动。
https://stackoverflow.com/questions/8428891
复制相似问题