android - Fragment生命周期相关
伊谢尔伦
伊谢尔伦 2017-04-17 11:12:02
[Android讨论组]

大家好,安卓初学者,遇到这样一个问题,如下图,通过选项卡切换Fragment,当前显示的是谷歌地图Fragment,这里我在地图中添加Markers,每个Marker的经纬度是读取的数据库中的数据,目前我是在该地图Fragment的onActivityCreated中读取经纬度然后依此标记marker的。

问题是,数据库中的每个Marker经纬度信息可能是变化的,程序中会有一个模块与服务器交互更新数据库信息,我想在每次点进这个地图Fragment中读取数据库经纬度信息更新重绘Markers。现在我进入APP后,点一下这个地图Fragment标记出markers,然后切换到其他如主页Fragment,再切换回地图Fragment,即使此间有数据库更新,markers位置也不变化,也就是说markers没有重新绘制。

请问我这个想法该如何实现?是生命周期的问题吗?
谢谢大家!

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(2)
ringa_lee

您的需求跟Fragment的生命周期并无太多关系,onActivityCreated在Fragment销毁之前只会被回调一次。如果你需要在重新返回到地图Fragment进行刷新操作的话,你应该通过某种方式(如,函数调用,广播通知)来告诉Fragment,你应该做刷新操作了。比如说,你可以定义一个消息接口OnIntoPage,每个Fragment都监听这个消息,Tab做更改的时候,将这个消息发送出去。这些基本的消息响应,你可以写一个BaseFragment来处理,所有的具体实现的Fragment都继承这个BaseFragment,各自处理自己的实现。
以上回答为个人愚见,希望对您有所帮助。

巴扎黑

是生命周期问题,你可以在onResume中重绘Markers。
关于更好的了解生命周期,建议把Fragment所有的生命周期方法都打上Log,然后看2个选项卡切换时,那些生命周期被调用了

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号