首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >onBackPressed -避免破坏活动

onBackPressed -避免破坏活动
EN

Stack Overflow用户
提问于 2013-03-25 21:25:54
回答 5查看 1.3K关注 0票数 3

我有两个活动-活动A启动活动B,然后活动B从数据库加载一些东西,并可视化数据。完全初始化B中的所有内容需要一些时间(5-10秒)。

我的问题是,如果我按下B中的后退按钮,它就会破坏B活动(调用onDestroy)并返回到活动A。我仍然想返回活动A,但没有破坏B,因为如果再次启动B,我必须再次等待,才能完成所有事情(这很烦人)。这有可能吗?

谢谢你的帮忙!

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-03-25 21:38:41

您可以使用Fragment,但是您真正想要做的是缓存信息。否则,您无论如何都会在设备旋转时重新加载(除非您使用Fragments和setRetainInstance来实现,但这可能会导致其他麻烦)。

我会在活动B的CursorLoader上使用onCreateonLoadFinished缓存结果并设置UI。在随后的加载中,结果将被缓存,而您将放弃加载程序。更重要的是,如果底层数据库的结果发生变化,使用CursorLoader会提醒您。

票数 5
EN

Stack Overflow用户

发布于 2013-03-25 21:35:04

我认为你没有从正确的角度看待这个问题。

我想说的是,如果Android想要的话,你不能阻止B被销毁(因为要由它来处理这些活动)。但是,您可以选择在第三个类中移动所有长时间的初始化,这些类可以一直保持。所以你应该让这个阶段独立于你的B活动。

我认为将所有这些放在应用程序类的属性中是个好主意。

票数 2
EN

Stack Overflow用户

发布于 2013-03-25 21:30:22

也许你可以使用AndroidFragments

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15625072

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档