Java 如何从一个片段中删除应反映在google firebase中其他片段中的数据

Java 如何从一个片段中删除应反映在google firebase中其他片段中的数据,java,android,firebase,google-cloud-firestore,Java,Android,Firebase,Google Cloud Firestore,我有3个片段:编辑个人资料、分组、可用学生 编辑配置文件有一个卷号为的集合usersconsist。该集合显示在available_students片段中。我想,如果在组格式中插入了一些用户数据,并且在提交后,这些数据不应显示在available_students片段下,但也不应从用户集合中删除。是吗可能吗 可用的学生片段 mfirestore.collection("users").addSnapshotListener(new EventListener<QuerySnapshot&

我有3个片段:编辑个人资料、分组、可用学生 编辑配置文件有一个卷号为的集合usersconsist。该集合显示在available_students片段中。我想,如果在组格式中插入了一些用户数据,并且在提交后,这些数据不应显示在available_students片段下,但也不应从用户集合中删除。是吗可能吗

可用的学生片段

 mfirestore.collection("users").addSnapshotListener(new EventListener<QuerySnapshot>() {
            @Override
            public void onEvent(@javax.annotation.Nullable QuerySnapshot queryDocumentSnapshots, @javax.annotation.Nullable FirebaseFirestoreException e) {
                if (e != null) {
                    Log.d(TAG, "Error" + e.getMessage());
                }

                for (DocumentChange doc : queryDocumentSnapshots.getDocumentChanges()) {


                    if (doc.getType() == DocumentChange.Type.ADDED) {
                        Users users = doc.getDocument().toObject(Users.class);
                        usersList.add(users);
                        userListAdapter.notifyDataSetChanged();
                    }
                }
            }
        });
        return v;
群形成碎片

public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    view.findViewById(R.id.submit).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            String roll1=ET1.getText().toString();
            String roll2=ET2.getText().toString();
            String roll3=ET3.getText().toString();
            String roll4=ET4.getText().toString();
            String roll5=ET5.getText().toString();

            Map<String,String> usermap= new HashMap<>();
            usermap.put("Student1",roll1);
            usermap.put("Student2",roll2);
            usermap.put("Student3",roll3);
            usermap.put("Student4",roll4);
            usermap.put("Student5",roll5);

           mfirestore.collection("Groups").add(usermap).addOnSuccessListener(new OnSuccessListener<DocumentReference>() {
               @Override
               public void onSuccess(DocumentReference documentReference) {
                   Toast.makeText(getActivity(), "registered", Toast.LENGTH_SHORT).show();
               }
           }).addOnFailureListener(new OnFailureListener() {
               @Override
               public void onFailure(@NonNull Exception e) {
              String error=e.getMessage();
                   Toast.makeText(getActivity(), "error"+error, Toast.LENGTH_SHORT).show();
               }
           });
        }
    });
}

使用给定的代码示例从firestore读取列表:

db.collection("cities")
    .whereEqualTo("state", "CA")
    .addSnapshotListener(EventListener<QuerySnapshot> { snapshots, e ->
        if (e != null) {
            Log.w(TAG, "listen:error", e)
            return@EventListener
        }

        for (dc in snapshots!!.documentChanges) {
            when (dc.type) {
                DocumentChange.Type.ADDED -> Log.d(TAG, "New city: ${dc.document.data}")
                DocumentChange.Type.MODIFIED -> Log.d(TAG, "Modified city: ${dc.document.data}")
                DocumentChange.Type.REMOVED -> Log.d(TAG, "Removed city: ${dc.document.data}")
            }
        }
    })
在查询快照之间查看查询结果的实际更改通常很有用,而不是简单地使用整个查询快照。例如,您可能希望在添加、删除和修改单个文档时维护缓存

链接:

如果你觉得这个答案有用,请投赞成票