У меня есть список , в котором каждый элемент имеет индикатор выполнения , который обновляется каждую секунду, поэтому я использовал notifyDataSetChanged()
, чтобы обновить каждый элемент списка , в этом состоянии все в порядке, но у меня также есть кнопка для этого элемента списка, который имеет setOnClickListener
, так как просмотр списка notifyDataSetChanged()
вызывает каждую секунду, нажатие этой кнопки не работает.
Итак, могу ли я обновить только этот ProgressBar ? не весь itemView ?
или какое-либо решение для решения этой проблемы?
CODE
private fun createDownloadingItemView(video: Video): View {
val view = UIHelper.createLayout(this@DownloadManagerPage, R.layout.layout_downloading_item)
view.downloadProgressBar.progress = video.downloadProgress
view.deleteFileImageView.setOnClickListener {
showDeleteDialog(video)
}
return view
}
Интерфейс
override fun onDownloadChanged(progressPercent: Int) {
downloadFiles = Gson().fromJson<ArrayList<Video>>(
ValueDB.downloadFiles,
object : TypeToken<List<Video>>() {}.type
)
downloadingFiles.clear()
downloadingFiles.addAll(downloadFiles.filter { downloadFile -> downloadFile.isDownloading })
downloadingAdapter?.notifyDataSetChanged()
}