最近在开发的时候遇到了一些小问题。现做一些记录,供自己提升印象,也供遇到同样问题的开发小伙伴作为参考。
1.RecyceleView的Adapter里面的某些数据是异步的数据。是不是不太好理解?我来说说我的情况,我是从服务器批量获取了一个数组的经纬度。然后我需要拿这个数组的经纬度去循环做逆地理编码,把经纬度转化为具体的位置。(我用的是高德地图)我看了一下高德的逆地理编码是用的异步。也就是说,我的循环做逆地理编码,可能我把position=0的gps刚发过去,让它进行转换,它还没转化好,我position=1就又发了一个转化请求过去,position=1还没转化好,我position=2又开始发了。这个时候,我position=0的结果出来了,那么此时,它就找不到自己是哪个position的结果了。就会出现数据错误,错位。
如何解决?你一定听过setTag这个方法。我们这里就使用setTag,让position作为标识,进行区分。
2.在RecyclerView里数据复用。我的RecyclerView的Item里,有一个可选项。就是可以随时改变。但是我滑动的时候,发现下面的某些数据也和上面的数据变得一样了。这就是因为RecyclerView的数据复用。
很好解决,给这个变量设置一个初始值。轻松就可以解决这个问题。
3.在Fragment中加入Map(高德地图)
在Fragment中加入地图。切换到其他Fragment的时候后再切换到Map界面,发现Map显示异常(可能是空白,可能是黑屏,我的是空白)。
如何解决:
https://blog.youkuaiyun.com/xbw12138/article/details/78929646
这篇博客里面写得很清楚。可借鉴。