Я сохранил данные в firestore и закончил печать на экране. Я распечатал каждый индекс с помощью recyclerView. У каждого содержимого индекса есть кнопка «Удалить», и я хочу удалить данные, когда нажимаю кнопку «Удалить». Однако, когда вы нажимаете кнопку «Удалить», все документы в поле удаляются. Как удалить только содержимое индекса, в котором расположена кнопка?
Адаптер
public void onBindViewHolder(@NonNull final MainViewHolder holder, final int position) {
final FirebaseFirestore db = FirebaseFirestore.getInstance();
Delete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
db.collection("medicinday").document(mDataset.get(position).getId())
.delete()
.addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
Toast.makeText(activity,"success",Toast.LENGTH_SHORT).show();
}
})
...
}
});
TextView nameTextView = cardView.findViewById(R.id.name_medicin_text);
nameTextView.setText(mDataset.get(position).getName());
...
Activity
DocumentReference documentReference = FirebaseFirestore.getInstance().collection("medicinday").document(FirebaseAuth.getInstance().getCurrentUser().getEmail());
documentReference.get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
@Override
public void onComplete(@NonNull Task<DocumentSnapshot> task) {
if (task.isSuccessful()) {
DocumentSnapshot document = task.getResult();
if (document != null) {
if (document.exists()) {
List list = (List) document.getData().get("add_day");
for (int i = 0; i < list.size(); i++) {
Log.i("TEST", "data[" + i + "] > " + list.get(i).toString());
HashMap map = (HashMap) list.get(i);
addDayList.add(new AddDayInfo(
map.get("Name").toString(),
...
document.getId()));
}
}
...