Элемент списка дублируется при изменении в firebase
Сделала слушатель на checkbox и отправляю данные в базу:
holder.cbEnabled.setOnClickListener {
REF_DATABASE_ROOT.child(NODE_TASKS).child(currentItem.id.toString()).child(
CHILD_TASK_ENABLED).setValue(holder.cbEnabled.isChecked)
.addOnCompleteListener {
TASK.enabled = holder.cbEnabled.isChecked
}
}
У меня есть список с модельками, получаю его так:
private fun getTaskList(recyclerView: RecyclerView) {
var taskIdArray : Array<String> = arrayOf()
val taskArrayList: ArrayList<TaskItem> = ArrayList()
REF_DATABASE_ROOT.child(NODE_WORKER_TASK)
.addValueEventListener(AppValueEventListener { node ->
for (taskSnapshot in node.children) {
for (idSnapshot in taskSnapshot.children) {
val taskId = idSnapshot.value.toString()
taskIdArray += taskId
}
}
for (id in taskIdArray) {
REF_DATABASE_ROOT.child(NODE_TASKS).child(id)
.addValueEventListener(AppValueEventListener { it ->
val task = it.getTaskModel()
taskArrayList.add(task)
taskListAdapter = TaskListAdapter(taskArrayList, WORKER.managerStatus)
recyclerView.adapter = taskListAdapter
})
}
})
}
В итоге получилось такое поведение
Понимаю, что проблема в том, что список обновляется и появляется изменённый элемент, а старый не удаляется. Но как исправить не знаю. Буду очень благодарна за помощь)
