firestore recyclerView получить поле и удалить данные - PullRequest
0 голосов
/ 17 июня 2020

Я сохранил данные в 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()));
                           }

                      } 
                      ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...