我有以下方法-
private fun initRoomObserving() {
dashboardViewModel = ViewModelProvider(this).get(DashboardViewModel::class.java)
dashboardViewModel.getAllMessagesEntities().observe(this, Observer { receivedMessageList ->
receivedMessageList.forEach {
if (!userPhoneNumber.equals(it.senderUsername)) {
it.isReceiver = true
}
if (!messagesList.contains(it)) {
messagesList.add(it)
}
}
conversationAdapter.notifyItemInserted(messagesList.size)
conversationAdapter.notifyItemRangeChanged(messagesList.size - 1,messagesList.size)
})
}
由于某种原因,每次添加新实体时,整个列表都会再次呈现,即使我明确地是notifyItemInserted
而不是notifyDataSetChanged
为什么会这样,我想念什么?