Android Firebase retrieve data from child node

前端 未结 5 1132
梦谈多话
梦谈多话 2020-12-22 08:00

I\'m trying to get the data from Firebase child node. But it throws Can\'t convert object of type java.lang.String to type uk.co.stableweb.geethika.model.DailyVerse

5条回答
  •  不思量自难忘°
    2020-12-22 08:26

    ArrayList usersEventsList = new ArrayList<>();
        dummyIdsArrayList = new ArrayList<>();
        Iterator eventsIterator = dataSnapshot.getChildren().iterator();
        while (eventsIterator.hasNext()) {
            DataSnapshot eventsSnapShot = eventsIterator.next();
            EventsResponse eventsResponse = new EventsResponse();
            eventsResponse.setEventName(eventsSnapShot.getKey());
            Iterator eventChildIterator = eventsSnapShot.getChildren().iterator();
            while (eventChildIterator.hasNext()) {
                DataSnapshot eventchildSnapshot = eventChildIterator.next();
                if (eventchildSnapshot.getKey().equals("is_recursive")) {
                    eventsResponse.setRecursive((Boolean) eventchildSnapshot.getValue());
                } else if (eventchildSnapshot.getKey().equals("is_notif")) {
                    eventsResponse.setNotif((Boolean) eventchildSnapshot.getValue());
                } else if (eventchildSnapshot.getKey().equals("is_editable")) {
                    eventsResponse.setEditable((Boolean) eventchildSnapshot.getValue());
                } else if (eventchildSnapshot.getKey().equals("is_visible")) {
                    eventsResponse.setVisible((Boolean) eventchildSnapshot.getValue());
                } else if (eventchildSnapshot.getKey().equals("name")) {
                    eventsResponse.setName(eventchildSnapshot.getValue().toString());
                } else if (eventchildSnapshot.getKey().equals("date")) {
                    Iterator eventChildDateIterator = eventchildSnapshot.getChildren().iterator();
                    while (eventChildDateIterator.hasNext()) {
                        DataSnapshot eventchildDateSnapshot = eventChildDateIterator.next();
                        if (eventchildDateSnapshot.getKey().equals("day")) {
                            eventsResponse.setDay(eventchildDateSnapshot.getValue().toString());
                        } else if (eventchildDateSnapshot.getKey().equals("month")) {
                            eventsResponse.setMonth(eventchildDateSnapshot.getValue().toString());
                        } else if (eventchildDateSnapshot.getKey().equals("year")) {
                            eventsResponse.setYear(eventchildDateSnapshot.getValue().toString());
                        }
                    }
                } else {
                    eventsResponse.setNotif(true);
                    eventsResponse.setVisible(false);
                }
            }
    

    if you are not able to fetch data,then you can fetch the data in that format.

提交回复
热议问题