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

来源:互联网 发布:网络教育 档案 拆开 编辑:程序博客网 时间:2024/05/08 11:54

高德地图 自定义 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(); 这样就可以完成更新,如果是其他的控件,则需要根据控件的不同来选择自己合适的方法。

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

阅读全文
0 0
原创粉丝点击