submitList () в утилитарном обзоре с diffutil вызывает повторное мигание - PullRequest
0 голосов
/ 04 октября 2019

У меня есть окно восстановления, которое было обновлено из удаленного источника, поэтому оно работает довольно хорошо, единственная неприятная вещь заключается в том, что когда экран обновляется и запускается запрос на получение, окно просмотра обновляется, даже если ничего не изменилосьв адаптере вызывает мерцание экрана, и это раздражает.

Я попытался возиться с diffutils, но в моем главном фрагменте не было достигнуто

:

viewModel.fetchTopHeadline()

, затемнаблюдатель

 topHeadline.observe(this@FeedFragment, Observer {
        if(it == null) return@Observer

        topHeadlineAdapter.submitList(it)

    })

мой адаптер:

class TopHeadlineAdapter:ListAdapter

и, наконец, мой класс diffutilCallback:

class TopHeadlineDiffCallback :DiffUtil.ItemCallback<Article>(){
    override fun areItemsTheSame(oldItem: Article, newItem: Article): Boolean {
        return oldItem.id == newItem.id
    }

    override fun areContentsTheSame(oldItem: Article, newItem: Article): Boolean {
        return oldItem == newItem
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...