首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当Fragment类中的方向发生变化时保留数据

当Fragment类中的方向发生变化时保留数据
EN

Stack Overflow用户
提问于 2012-12-16 16:50:13
回答 1查看 258关注 0票数 1

我正在为学校的工作制作Android Jabber聊天客户端。

到目前为止,一切工作正常。但是当我改变手机的方向时,它会重新连接到服务器。

重新连接只需要3-5秒,但在此期间,如果我发送一条消息,它将导致XMPPConnection变量NullPointerException

通过谷歌搜索,我发现我可以使用onRetainNonConfigurationInstance,但是我的ChatClient类扩展了Fragment,并且它不可用。

我的目标是4.0.3+,所以我不需要担心兼容性支持之类的问题。

除了使用static变量之外,还有其他解决方案吗?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-16 17:00:21

我不确定在片段中托管您的xmppconnection是不是一个好主意。

一种常见的方法是将其托管在service中,这样即使应用程序在后台也可以保持连接(并且在任何情况下都不依赖于您的活动/片段重建),或者,如果您对在应用程序处于后台时连接它不感兴趣,另一个好的选择是将xmppconnection托管在一个单独的对象中。

另一方面,如果这是一个学校项目,并且您想要的是片段持久化配置更改,例如旋转,则可以使用setRetainInstance方法:

控制片段实例是否在活动重新创建时保留(例如从配置更改中)。这只能与不在后台堆栈中的片段一起使用。

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

https://stackoverflow.com/questions/13899835

复制
相关文章

相似问题

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