notifyItemInserted再次呈现整个列表

问题描述 投票:1回答:1

我有以下方法-

  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

为什么会这样,我想念什么?

android android-recyclerview notifydatasetchanged
1个回答
1
投票
© www.soinside.com 2019 - 2024. All rights reserved.