когда я нажимаю 13-й элемент, он начинает менять полосу выполнения. Но когда я прокручиваю вверх, то 4-й элемент также показывает, что он изменен. Я попытался не устанавливать повторно используемое значение false, но также возникла проблема. при прокрутке вверх и вниз активный держатель исчезает. Я схожу с ума из-за этой проблемы ... пожалуйста, помогите мне ...
MainActivity
//ViewHolder Click Event
override fun onClick(data: Any, holder: RecyclerView.ViewHolder) {
currentFragment?.initRecord()
val holderPosition = holder.adapterPosition // and tried data.id
audioPosition=holderPosition
activeHolder = holder
}
//onChangeProgressBar
override fun onChangeProgressBar(progress: Float, currentPosition: Int, totalDuration: Int) {
if(activeHolder?.adapterPosition == audioPosition) {
activeHolder?.let {
showLog("activeHolder : "+activeHolder?.adapterPosition)
it.binding.progressBar.max = totalDuration
it.binding.progressBar.progress = currentPosition
showAudioStopButton(it)
}
}else{
showLog("Position activeHolder.adapterPosition: "+activeHolder?.adapterPosition)
showLog("Position audioPosition : "+audioPosition)
}
}
Адаптер
override fun onBindViewHolder(holder: ViewHolder, position: Int, payloads : List<Any>) {
val data: ReplyData = mGroupDataList[position]
if (holder is GroupPopupViewHolder) {
//holder.setIsRecyclable(false)
if (holder is GroupPopupViewHolder) {
holder.bind(mGroupDataList[position])
holder.binding.audioLayout.setOnClickListener {
(onClickListener as AudioItemClickListener).onClick(
mGroupDataList[position], holder
)
}
}
}
}
Журнал
D/TAG: Position activeHolder.adapterPosition: 22
Position audioPosition : 13