Android Fragment集成高德地图黑屏的问题解决方案

本文介绍了在Android Fragment中集成高德地图时遇到的黑屏问题及其解决方案。按照官方API,需要重载Activity和Fragment的生命周期方法。在Fragment中,必须将MapView的onCreate(Bundle)方法放在onCreateView中初始化,并将onDestroy()方法移到onDestroyView中,以避免首次进入和重新进入应用时地图显示黑屏。修复这个问题有助于深入理解Fragment的生命周期。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

官方给的3.0Map的集成api说了:


MapView 是 Android View 类的一个子类,它可以帮助您在 Android View 中放置地图,它是应用程序和窗口部件的基本构建类。MapView 作为地图的容器,通过 AMap 对象显示地图。使用 MapView 类,必须重载 Activity 生命周期的所有方法,有 onCreate(),onDestroy(),onResume(),onPause(),onSaveInstanceState()。


另外,如果是在Fragment中集成MapView的话,首先需要将你自己写的Fragment继承SupportMapFragment类,然后同样需要重载所有的生命周期方法。区别在于:


Fragment的onCreate 方法再onCreateView方法之前调用,而Fragment的视图是在onCreateView中初始化的,所以这里需要将MapView的onCreatef(Bundle)方法移到onCreateView方法中进行初始化。


但是,我前期做的时候犯了一个错误,MapView的其他生命周期方法调用位置为都没改,结果app首次进入的时候,高德地图是

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值