Android 设置为列表项的地图视图正在闪烁

Android 设置为列表项的地图视图正在闪烁,android,google-maps,android-mapview,Android,Google Maps,Android Mapview,我有一个带有自定义布局的列表视图。Listview中的一项是扩展RelativeLayout的CustomView。其中包含标题、说明、一个地图视图和两个按钮 我面临的问题是,当我从这个屏幕导航或返回到这个屏幕时,地图在闪烁。当我们回到这个屏幕时,它显示黑色而不是地图,并在1或2秒内更改地图。如何才能消除Mapview上的闪烁,因为ListView中的Mapview是一个需要执行的繁重操作,所以当这两个功能嵌入在一起时,总是会观察到闪烁或有线行为。现在,为了获得更高的一致性,我们有以下选项:

我有一个带有自定义布局的
列表视图
Listview
中的一项是扩展
RelativeLayout
CustomView
。其中包含标题、说明、一个
地图视图
和两个
按钮


我面临的问题是,当我从这个屏幕导航或返回到这个屏幕时,地图在闪烁。当我们回到这个屏幕时,它显示黑色而不是地图,并在1或2秒内更改地图。如何才能消除
Mapview

上的闪烁,因为ListView中的Mapview是一个需要执行的繁重操作,所以当这两个功能嵌入在一起时,总是会观察到闪烁或有线行为。现在,为了获得更高的一致性,我们有以下选项:

  • 使用我的应用程序所需的几个参数,像构建静态谷歌地图一样构建URL。您可以在此处获得更多选项:
构造custome URL的代码段如下所示:

    String getMapURL = "http://maps.googleapis.com/maps/api/staticmap?zoom=12&size=480x190&markers=size:mid|color:blue|"  
+ Jsonloc.getString("latitude") 
+ "," 
+ Jsonloc.getString("longitude") 
+ "&sensor=false";
此方法以.png文件的形式返回地图。您可以使用Fedor的延迟加载技术,每当用户向上滚动到列表视图中的特定项时,都会显示该图像。当地图出现在屏幕上时,它永远不会闪烁

  • 使用自定义适配器(如果不使用)。这里有一个指南来指导您实现这一点,因为只有一个条目具有映射

  • 最后一个选项是使用一个按钮,例如“showmap”,它将发送和意图到一个不同的活动,并显示地图和关于列表视图列表项的其他详细信息

希望这会有帮助

返回屏幕时,尝试在MapView上调用invalidate(),以强制它重新绘制。