У меня есть действие с видом рециркулятора.
В моем адаптере каждый элемент имеет некоторую информацию и вид слайдера благодаря Slide Slider (https://github.com/firdausmaulan/GlideSlider).
Когда я сортирую списоквсе элементы обновляются с правильной информацией, но изображения остаются в том же месте для первых двух элементов, видимых на экране. При прокрутке страницы фотографии соответствуют нужным элементам.
Как обновитьизображения видимых элементов?
Работает моя функция привязки (отправляется правильная информация):
fun bind(property: Property) {
val pictures = getPictures(property)
if (mImageSlider == null) {
GlideApp
.with(context!!)
.load(pictures[0])
.centerCrop()
.into(mPropertyView!!)
}
else {
val requestOptions = RequestOptions().centerCrop()
val arrayProperty = pictures.toTypedArray()
for (i in 0 until pictures.size) {
val sliderView = DefaultSliderView(context)
// initialize SliderLayout
sliderView
.image(pictures[i])
.setRequestOption(requestOptions)
.setProgressBarVisible(true)
.setOnSliderClickListener(this)
sliderView.bundle(Bundle())
sliderView.bundle.putString("advertId", property.advertId)
sliderView.bundle.putStringArray("urlImg", arrayProperty)
mImageSlider!!.addSlider(sliderView)
}
mImageSlider!!.stopAutoCycle()
mImageSlider!!.addOnPageChangeListener(this)
}
...
viewAdapter.notifyDataSetChanged()
}
Функция onSliderClick извлекает неверную информацию для видимых элементов:
override fun onSliderClick(slider: BaseSliderView?) {
val intent = Intent(itemView.context, PropertyActivity::class.java)
intent.putExtra("bundle", slider!!.bundle)
itemView.context.startActivity(intent)
}
Функция onBindViewHolder получает полезную информацию.