Как использовать Callback?

У меня есть слушатель внутри адаптера. При зажатии элемента - происходит запрос на сервер. Как мне реализовать обновление данных в адаптере после запроса на сервер? viewholder.bind

fun bind(listItem: Comment) {
        itemView.setOnLongClickListener {

            if (pref.getToken() == null)
                showDialog()

            if (pref.getToken() != null) {
                mService = Common.retrofitServices
                mService.patchCommentById(
                    listItem.id,
                    pref.getToken()!!,
                    createJsonRequestBody("approved_comment" to (!listItem.approved_comment).toString())
                )?.enqueue(object : Callback<Comment> {
                    override fun onResponse(call: Call<Comment>, response: Response<Comment>) {
                        ivHasApproved.setImageResource(if ((response.body() as Comment).approved_comment) R.drawable.ic_baseline_check_24 else R.drawable.ic_baseline_clear_24)
                    }

                    override fun onFailure(call: Call<Comment>, t: Throwable) {
                        Log.e("retrofit-module", "attempt to approve has been crashed: $t")
                    }
                })
            }

            return@setOnLongClickListener true
        }
    }

функция из активити, где заполняю адаптер

private fun getAllCommentsList() {
    mService.getCommentsByPostId(post.id).enqueue(object : Callback<MutableList<Comment>> {
        override fun onResponse(
            call: Call<MutableList<Comment>>,
            response: Response<MutableList<Comment>>
        ) {
            adapter = CommentListAdapter(response.body() as MutableList<Comment>)
            adapter.setHasStableIds(true)
            adapter.notifyDataSetChanged()
            activity_post_rv_comments.adapter = adapter
        }

        override fun onFailure(call: Call<MutableList<Comment>>, t: Throwable) {
            Log.e("retrofit-module", "comments bad request: $t")
        }
    })
}

Ответы (0 шт):