FireBaseAdapter удалить данные, нажав на элемент CustomAdapter - PullRequest
0 голосов
/ 08 апреля 2020

Добрый день, подскажите пожалуйста, как мне изменить базу данных в этом адаптере? Точнее, пользователь нажал на элемент, диалог с открытыми кнопками «Запись», если он автор, то «Удалить» и при нажатии «Удалить» запись удаляется из базы данных Извините за мой плохой английский sh. Надеюсь, вы меня понимаете

 public class EventAdapter extends FirebaseListAdapter<EventData> {

        private Events activity;
        public EventAdapter(Events activity, Class<EventData> modelClass, int modelLayout, DatabaseReference ref) {
            super(activity, modelClass, modelLayout, ref);
            this.activity = activity;
        }

        @Override
        protected void populateView(View v, EventData model, int position) {
            TextView eventTime = (TextView) v.findViewById(R.id.itemFlightDateText);
            TextView eventTitle = (TextView) v.findViewById(R.id.itemDepartureAirportCodeText);
            TextView eventText = (TextView) v.findViewById(R.id.itemDepartureAirportCityText);
            TextView eventAuthor = (TextView) v.findViewById(R.id.event_author);
            eventTitle.setText(model.eventTitle());
            eventText.setText(model.eventText());
            eventAuthor.setText(model.author());
            long time = Long.parseLong(model.time())*1000L;
            DateFormat formatter = new SimpleDateFormat("dd MMM yyyy hh:mm:ss", Locale.getDefault());
            formatter.setTimeZone(TimeZone.getTimeZone("UTC"));
            String[] text = formatter.format(new Date(time)).split(" ");
            eventTime.setText(model.eventStart()+"\n"+text[0]+" "+text[1]+"\n"+text[2]);
            System.out.println("DataModeLSystem "+text);
        }

        @Override
        public View getView(int position, View view, ViewGroup viewGroup) {
            EventData usersData = getItem(position);
            view = activity.getLayoutInflater().inflate(R.layout.event_item, viewGroup, false);
            populateView(view, usersData, position);
            return view;
        }

        @Override
        public int getViewTypeCount() {
            // return the total number of view types. this value should never change
            // at runtime
            return 2;
        }

        @Override
        public int getItemViewType(int position) {
            // return a value between 0 and (getViewTypeCount - 1)
            return position % 2;
        }
    }

Я знаю, что код плохой, я учусь)

...