как обновить список после передачи фото из onActivityResult в RecyclerView?

Рейтинг: 0Ответов: 0Опубликовано: 17.05.2023

Данные в массив заносятся, а список не обновляется

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!!))
        }
    }

Ответы

Ответов пока нет.