smartlocation仅更新RecyclerView适配器中的最后一项

时间:2019-05-23 21:08:22

标签: android kotlin android-gps

我在RecyclerView上显示了一个模型,我的模型具有location属性,并且我要从该位置显示到当前位置的距离。

SmartLocation.with(mContext.applicationContext)
                .location()
                .config(LocationParams.Builder()
                        .setAccuracy(LocationAccuracy.HIGH)
                        .setDistance(5f)
                        .build())
                .start {

                    Log.e("EVPLOG", "Callback for id: ${item.id}")
                   if (item.latitude != null && item.latitude != null) {

                       val itemLocation = Location("")
                       itemLocation.latitude = item.latitude!!
                       itemLocation.longitude = item.longitude!!

                       val distance = distance(itemLocation, it)
                       holder.txtEvpRecordItemDistance.text = Util.getDistanceText(distance)
                   }
                }

我正在适配器的onBindViewHolder中运行此代码。

问题:

由于某些原因,只有RecyclerView的最后一个项目距离文本被更新。

我怀疑它与Start方法的回调有关。 任何人都有与此类似的问题吗?

0 个答案:

没有答案