smartlocation обновляет только последний элемент в адаптере RecyclerView - PullRequest
0 голосов
/ 24 мая 2019

У меня есть модель, отображаемая в 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. У кого-нибудь была проблема, подобная этой?

...