Обновление скользящего слайд-вида видимых элементов при сортировке вида переработчика - PullRequest
0 голосов
/ 11 октября 2019

У меня есть действие с видом рециркулятора.

В моем адаптере каждый элемент имеет некоторую информацию и вид слайдера благодаря 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 получает полезную информацию.

1 Ответ

0 голосов
/ 11 октября 2019

Я не уверен, правильно ли я вас понял. Но вот предыдущий ответ https://stackoverflow.com/a/43586743/11136689,, который помог мне получить старую информацию из моего переработанного представления. Поэтому, когда приходит onBind, внутри нет переработанной информации.

Надеюсь, это поможет. Удачного кодирования.

...