仍然出现与syncedList并发修改异常

问题描述

Grettiings,我之前曾问过这个问题,但是即使在更改后,我仍然收到并发修改异常,但我实现了syncedList和synceded(list),但异常仍在发生,我用尽了想法,可以您提供一些建议,可能还会发生什么?谢谢

afterTransactionCommitted(() -> myMethod());

这是异常的痕迹

manager.getMutableList()
        .observe(viewLifecycleOwner,Observer { queueList ->
            Collections.synchronizedList(ArrayList<Object>()).apply {
                this.addAll(queueList)
                synchronized(this) {
                    if (this.isNotEmpty()) {
                        // Do Something
                    } else {
                        // Do other stuff
                    }

                    (recyclerView.adapter as Adapter).run {
                        items = this@apply
                        notifyDataSetChanged()
                        hideLoadingScreen()
                    }
                }
            }
        })

解决方法

在我看来,您好像锁定了“ this”,这是每个执行唯一的列表。您应该锁定一个共享的对象,例如queueList。