首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mosby MVP -如何在onDestroyView()之后重新创建片段的状态?

Mosby MVP -如何在onDestroyView()之后重新创建片段的状态?
EN

Stack Overflow用户
提问于 2017-01-23 22:01:48
回答 1查看 700关注 0票数 1

我在一个安卓应用程序中使用Mosby模型-视图-演示者库。在一个特定的视图中,我使用了用Design Support Library v25.1.0实现的Bottom Navigation。我在一个活动中的3个片段之间切换。为了处理旋转配置更改,我使用了Mosby的自定义RestorableViewState

我的问题是,Mosby将视图的状态存储在activity的onSaveInstanceState(Bundle bundle)中,当我在同一个activity中交换片段时,不会调用它,只有片段的onDestroyView()会被调用。目前,我将状态单独存储在片段本身中(因为在切换片段时,片段不会被销毁,只是片段的视图),但我有冗余的代码,这有点违背了使用MVP架构的目的。

有没有更好的解决方案来存储在方向改变和交换片段期间的片段状态?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-24 02:01:58

这有点棘手。我猜你是在用replace()做一个FragmentTransaction,不是吗?问题是,使用replace时,您实际上每次都会创建一个新的片段实例,因此无法恢复任何状态。您应该调用FragmentTransaction.show(fragment)FragmentTransaction.hide(fragment)

此外,Mosby 2对此用例没有完美的支持,Mosby 3将对此提供更好的支持。

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

https://stackoverflow.com/questions/41808153

复制
相关文章

相似问题

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