Удаление элемента из списка recyclerview
Есть список recyclerview, который содержит некие цели. Добавляю эти цели в базу данных: val ref = FirebaseDatabase.getInstance().reference.child("Targets")
val targetId = ref.push().key
val now = LocalDateTime.now()
var formatter = DateTimeFormatter.ofPattern("hh:mm a dd-MM-yyyy")
val targetMap = HashMap<String, Any>()
targetMap["targetId"] = targetId!!
targetMap["target"] = target_text.text.toString()
targetMap["publisher"] = FirebaseAuth.getInstance().currentUser!!.uid
targetMap["time"] = formatter.format(now).toString()
ref.child(targetId).updateChildren(targetMap)
Далее добавляю элементы в список в TargetActivity:
private fun retrieveTargets()
{
val targetsRef = FirebaseDatabase.getInstance()
.reference.child("Targets")
targetsRef.addValueEventListener(object : ValueEventListener
{
override fun onDataChange(p0: DataSnapshot)
{
if (p0.exists())
{
targetList!!.clear()
for (snapshot in p0.children)
{
val target = snapshot.getValue(com.megapixel.trashbench.Model.Targets::class.java)
targetList!!.add(target!!)
}
targetAdapter!!.notifyDataSetChanged()
}
}
override fun onCancelled(error: DatabaseError)
{
}
})
}
В TargetAdapter я хочу при нажатии на кнопку удалять цели:
holder.confirm_delete_target.setOnClickListener {
val ref = FirebaseDatabase.getInstance().reference
.child("Targets")
.child(target.getTargetid())
ref.removeValue().addOnCompleteListener { task ->
if (task.isSuccessful) {
Toast.makeText(mContext, R.string.deleted, Toast.LENGTH_SHORT).show()
}
}
}
Но при нажатии на кнопку удаляется не одна цель, а все сразу. Как это можно исправить?