diff --git a/app/src/main/java/com/gamedog/vididin/manager/RecordsManager.kt b/app/src/main/java/com/gamedog/vididin/manager/RecordsManager.kt index 7f4a7ec..a6672c2 100644 --- a/app/src/main/java/com/gamedog/vididin/manager/RecordsManager.kt +++ b/app/src/main/java/com/gamedog/vididin/manager/RecordsManager.kt @@ -282,15 +282,22 @@ abstract class BaseRecordHelper { mbgScope.launch { try { mRecordLocker.lock() + var replaceIndex = -1 + var replaceItem : BaseRecord? = null mRecordList.forEachIndexed { index, data -> if (data.uuid == updateBean.uuid) { - mRecordList.remove(data) - mRecordList.add(index, updateBean) + replaceIndex = index + replaceItem = data return@forEachIndexed } } - saveRecordList2Sp() + if (replaceIndex >= 0) { + mRecordList.remove(replaceItem) + mRecordList.add(replaceIndex, updateBean) + saveRecordList2Sp() + } + } finally { mRecordLocker.unlock() }