问题描述
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。