根据 Android 中的微调器选择删除 Firebase child

Remove Firebase child based on spinner selection in Android

我是 Android Studio 的新手,所以这对你们中的一些人来说可能很容易。

我有一个微调器,可以从 Firebase 数据库读取访客姓名。

选择名称并单击按钮后,我希望将 child 从数据库中删除。

这是我在 onCreate 中用于 Spinner 的代码:

databaseVisitors = FirebaseDatabase.getInstance().getReference();
databaseVisitors.child("visitorsToCO").addListenerForSingleValueEvent(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot datasnapshot) {
        final List<String> visitorsToCO = new ArrayList<String>();

        for (DataSnapshot areaSnapshot: datasnapshot.getChildren()) {
            String visitorName = areaSnapshot.child("visitorName").getValue(String.class);
            if (visitorName!=null){
                visitorsToCO.add(visitorName);
            }
        }

        Spinner spinnerV = (Spinner) findViewById(R.id.visitorName);
        ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(CheckOutActivity.this, android.R.layout.simple_spinner_item, visitorsToCO);
        arrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinnerV.setAdapter(arrayAdapter);

    }

这是我的按钮代码:

btnCheckOut2.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            addVisitorCheckOut();
            deleteVisitorToCO();
            openMainActivity();
        }
    });

public void deleteVisitorToCO()
{
    databaseVisitors = FirebaseDatabase.getInstance().getReference("visitorsToCO");

    final String name = visitorName.getSelectedItem().toString();

    Query query = databaseVisitors.child("visitorsToCO").orderByChild("visitorName").equalTo(name);
    query.addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            for (DataSnapshot itemSnapshot : dataSnapshot.getChildren()) {
                itemSnapshot.getRef().removeValue();
            }
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });
}

databaseVisitors = FirebaseDatabase.getInstance().getReference();
databaseVisitors.child("visitorsToCO").addListenerForSingleValueEvent(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot datasnapshot) {

        for (DataSnapshot areaSnapshot: datasnapshot.getChildren()) {
            if(areaSnapshot.child(visitorName).getValue().toString().equals(spinnerV.getSelectedItem().toString()))
            {
                areaSnapShot.setValue(null);
            }

        }


    }