高德地图 自定义 InfoWindow 添加 RecyclerView 问题

高德地图 自定义 InfoWindow 添加 RecyclerView 问题

这是一个棘手的问题,在高德地图中,添加了自定义的 InfoWindow,然后想在自定义 InfoWindow 中添加一下 RecyclerView 实现多个事项的展现,结果在 InfoWindow 中添加了 RecyclerView 之后,RecyclerView 并不会显示内容,只是显示一个空白,而且不管是改变 Item 布局的背景还是 RecyclerView 的背景,都不会有所改变,经过了各方资料查证和自己的琢磨,总算是找到了一个自己还算是满意的答案。

其实这个问题解释起来很简单,而且在高德官方提供的 API 中其实已经给与了解释,只是自己太粗心没有注意到而已:

InfoWindo

InfoWindo

所以如果是自定义的 InfoWindow 添加 RecyclerView 的话,只需要先添加数据,然后再去调用 recyclerView.setAdapter(recyclerAdapter); 方法或者是自己再去完成一下 InfoWindow 的内容更新方法即可,而且在 API 中明确指出了,自定义的 InfoWindow 更新的时候,不要去调用 showInfoWindow() 方法,否则内容不会显示更新,还是会显示一样的。根据不同自定义 InfoWindow 的情况,那么自己完成的更新方法也是不一样的,比如如果自定义的 InfoWindow 中添加的是 ListView 或者 RecyclerView,那么可以在适当的地方添加一句 adapter.notifyDataSetChanged(); 这样就可以完成更新,如果是其他的控件,则需要根据控件的不同来选择自己合适的方法。

基本上过程中碰到的问题就是这么多,做个记录方便以后查看,如果有什么想说的,欢迎留言讨论。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值