как обновить список после передачи фото из onActivityResult в RecyclerView?
Данные в массив заносятся, а список не обновляется
Adapter
class AdapterImages: ListAdapter<ImageModel, AdapterImages.ViewHolder>(DiffCallback()) {
class ViewHolder(
val item: ItemImageBinding
): RecyclerView.ViewHolder(item.root) {
fun bind(uri: ImageModel) {
item.image.setImageURI(uri.uri)
}
}
private class DiffCallback: DiffUtil.ItemCallback<ImageModel>() {
override fun areItemsTheSame(oldItem: ImageModel, newItem: ImageModel): Boolean {
return oldItem.uri == newItem.uri
}
override fun areContentsTheSame(oldItem: ImageModel, newItem: ImageModel): Boolean {
return oldItem == newItem
}
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ViewHolder(
ItemImageBinding.inflate(
LayoutInflater.from(
parent.context
)
)
)
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
holder.bind(currentList[position])
}
fun addImage(uri: ImageModel) {
//val callback = DiffUtil.Callback
submitList(listOf(uri))
Log.d("AddImageRV", "Добавление картинки в список")
}
}
Activity
@Deprecated("Deprecated in Java")
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (resultCode == RESULT_OK) {
adapter.addImage(uri = ImageModel(data?.data!!))
}
}
Источник: Stack Overflow на русском