Удаление элемента из списка 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()
                }
            }

        }

Но при нажатии на кнопку удаляется не одна цель, а все сразу. Как это можно исправить?


Ответы (0 шт):