Как загрузить в firebase имя пользователя, отметившегося в checkbox

Суть в том, что у меня есть фрагмент, на котором выводятся в RecyclerView так называемые мероприятия с полем CheckBox. Мне нужно, чтобы имя пользователя, поставившего галочку сохранялось в firebase в отдельный child этого мероприятия для того, чтобы потом, при нажатии на каждое мероприятие, можно было увидеть список отметившихся пользователей

Код самого фрагмента HomeFragment.java

package com.example.bottom_project.ui.home;

import android.content.DialogInterface;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.RelativeLayout;

import androidx.annotation.NonNull;
import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.Fragment;
import androidx.lifecycle.ViewModelProvider;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import com.example.bottom_project.Models.MyEvent;
import com.example.bottom_project.R;
import com.firebase.ui.database.FirebaseRecyclerAdapter;
import com.firebase.ui.database.FirebaseRecyclerOptions;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.google.android.material.snackbar.Snackbar;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.Query;
import com.rengwuxian.materialedittext.MaterialEditText;

import java.util.ArrayList;

import static android.content.ContentValues.TAG;

public class HomeFragment extends Fragment implements EventsAdapter.OnEventlistener {

    FloatingActionButton btnNewEvent;

    private RelativeLayout relativeLayout;
    private FirebaseRecyclerAdapter adapter;

    private ArrayList<MyEvent> mEvents = new ArrayList<>();

    public View onCreateView(@NonNull LayoutInflater inflater,
                             ViewGroup container, Bundle savedInstanceState) {

        View root = inflater.inflate(R.layout.fragment_home, container, false);

        btnNewEvent = root.findViewById(R.id.btnNewEvent);

        btnNewEvent.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                setNewEvent();
            }
        });

        RecyclerView listOfEvents = root.findViewById(R.id.list_of_events);
        listOfEvents.setLayoutManager(new LinearLayoutManager(requireContext()));
        Query query = FirebaseDatabase.getInstance().getReference().child("Events");

        FirebaseRecyclerOptions<MyEvent> options =
                new FirebaseRecyclerOptions.Builder<MyEvent>()
                        .setQuery(query, MyEvent.class)
                        .build();
        adapter = new EventsAdapter(options, this);
        listOfEvents.setAdapter(adapter);


        return root;
    }

    @Override
    public void onStart() {
        super.onStart();
        adapter.startListening();
    }

    @Override
    public void onStop() {
        super.onStop();
        adapter.stopListening();
    }

    private void setNewEvent() {
        AlertDialog.Builder dialog = new AlertDialog.Builder(requireContext());
        dialog.setTitle("Новое мероприятие");
        dialog.setMessage("Введите данные нового мероприятия");
        LayoutInflater inflater = LayoutInflater.from(requireContext());
        View add_new_event = inflater.inflate(R.layout.add_event_window, null);
        dialog.setView(add_new_event);


        final MaterialEditText place = add_new_event.findViewById(R.id.placeField);
        final MaterialEditText name = add_new_event.findViewById(R.id.nameField);
        final MaterialEditText date = add_new_event.findViewById(R.id.dateField);
        final MaterialEditText time = add_new_event.findViewById(R.id.timeField);

        dialog.setNegativeButton("Отмена", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int which) {
                dialogInterface.dismiss();
            }
        });

        dialog.setPositiveButton("Добавить", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                if (TextUtils.isEmpty(name.getText().toString())){
                    Snackbar.make(relativeLayout, "Введите название", Snackbar.LENGTH_SHORT).show();
                    return;
                }
                if (TextUtils.isEmpty(place.getText().toString())){
                    Snackbar.make(relativeLayout, "Введите место", Snackbar.LENGTH_SHORT).show();
                    return;
                }
                if (TextUtils.isEmpty(date.getText().toString())){
                    Snackbar.make(relativeLayout, "Введите дату проведения", Snackbar.LENGTH_SHORT).show();
                    return;
                }
                if (TextUtils.isEmpty(time.getText().toString())){
                    Snackbar.make(relativeLayout, "Введите время", Snackbar.LENGTH_SHORT).show();
                    return;
                }
                FirebaseDatabase.getInstance().getReference().child("Events").push().setValue(
                        new MyEvent(name.getText().toString(),
                                place.getText().toString(),
                                date.getText().toString(),
                                time.getText().toString()));
            }
        });
        dialog.show();
    }

    @Override
    public void onEventClick(int position) {
        //mEvents.get(position);
        Log.d(TAG, "onNoteClick: clicked." + position);

    }
}

Код адаптера EventsAdapter.java

package com.example.bottom_project.ui.home;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CheckBox;
import android.widget.TextView;

import androidx.annotation.NonNull;
import androidx.appcompat.app.AlertDialog;
import androidx.cardview.widget.CardView;
import androidx.recyclerview.widget.RecyclerView;

import com.example.bottom_project.Models.MyEvent;
import com.example.bottom_project.R;
import com.firebase.ui.database.FirebaseRecyclerAdapter;
import com.firebase.ui.database.FirebaseRecyclerOptions;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;

import java.util.ArrayList;

public class EventsAdapter extends FirebaseRecyclerAdapter<MyEvent, EventsAdapter.ViewHolder> {

    private DatabaseReference databaseRef;
    private Context context;
    private ArrayList<MyEvent> mEvents = new ArrayList<>();
    private final OnEventlistener mOnEventListener;

    public EventsAdapter(@NonNull FirebaseRecyclerOptions<MyEvent> options, OnEventlistener onEventlistener ) {
        super(options);
        databaseRef = FirebaseDatabase.getInstance().getReference("yourReference");
        this.mOnEventListener = onEventlistener;
    }

    @Override
    protected void onBindViewHolder(@NonNull ViewHolder holder, int i, @NonNull MyEvent model) {
        holder.name.setText(model.getName());
        holder.time.setText(model.getTime());
        holder.place.setText(model.getPlace());
        holder.date.setText(model.getDate());

        //===========click listner of check box===============//

        holder.checkBox.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View arg0) {
                final boolean isChecked = holder.checkBox.isChecked();
                if (isChecked) {

                    } else {

                    }
                }
        });
    }

    @NonNull
    @Override
    public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_events, parent, false);
        context = parent.getContext();
        return new ViewHolder(view, mOnEventListener);
    }


    private void itemClick(int position) {

    }

    static class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{
        TextView place, name, date, time;
        OnEventlistener onEventlistener;
        CheckBox checkBox;
        CardView mCard;

        public ViewHolder(@NonNull View v, OnEventlistener onEventlistener){
            super(v);

            mCard = v.findViewById(R.id.card_view);
            name = v.findViewById(R.id.name);
            place = v.findViewById(R.id.place);
            date = v.findViewById(R.id.date);
            time = v.findViewById(R.id.time);
            checkBox = v.findViewById(R.id.checkBox);
            this.onEventlistener = onEventlistener;

            itemView.setOnClickListener(this);
            //mCard.setOnClickListener(this);
        }

        @Override
        public void onClick(View v) {
            onEventlistener.onEventClick(getAdapterPosition());
        }
    }
    public interface OnEventlistener{
        void onEventClick(int position);
    }
}

Код модели MyEvent

package com.example.bottom_project.Models;

import java.util.Calendar;

public class MyEvent {
    public String name, place;
    private String date, time;
    public boolean check = false;

    MyEvent(){}

    public MyEvent(String name, String place, String date, String time) {
        this.name = name;
        this.place = place;
        this.date = date;
        this.time = time;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPlace() {
        return place;
    }

    public void setPlace(String place) {
        this.place = place;
    }

    public String getDate() {
        return date;
    }

    public void setDate(String date) {
        this.date = date;
    }

    public String getTime() {
        return time;
    }

    public void setTime(String time) {
        this.time = time;
    }

    public boolean isPossible() {
        return check;
    }

    public void setPossible(boolean possible) {
        this.check = possible;
    }
}

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