Существует LiveData
, который представляет собой список пользователей:
val users: MutableLiveData<List<User>>
Затем он обновляется:
val usersValues = users.getValues()
val user = usersValues[0]
user.name = "new-name"
users.post(usersValues)
И DiffUtil
не видит другого, потому что User
- это тот же объект, поэтому он просто обновляется внутри Adapter
.
fun areContentsTheSame(int a, int b): Boolean {
val oldUser //User@666
val newUser //User@666
return oldUser.id == newUser.id || oldUser.name == newUser.name
}
Одним из решений является создание нового экземпляра или копии, тогда DiffUtil
заметит разницу. Есть что-нибудь лучше?