Снимок базы данных Firebase для динамического повторного просмотра массива списков - PullRequest
0 голосов
/ 13 марта 2020

Мой массив:

private static String[] date = {
            "Mar 15",
            "Mar 22",
            "Mar 23" }; 
private static String[] type_d = {
            "Day",
            "Night",
            "Morning" };

Заполните recycleview массивом:

public static ArrayList getList() {

    ArrayList<TestModel> list = new ArrayList<>();

    for (int i = 0; i < date.length; i++) {
        testModel = new TestModel();
        testModel.setDate(date[i]);
        testModel.setType(type_d[i]);
        list.add(testModel);
    }
    return list;
}

Это прекрасно работает. Теперь я пытаюсь загрузить точные данные (в формате json) из базы данных Firebase в реальном времени

if(dataSnapshot.exists() && dataSnapshot.getChildrenCount()>0) {

            Map<String, Object> map = (Map<String, Object>) dataSnapshot.getValue();
            if (map.get("type_d") != null) {
                type_d = map.get("type_d").toString(); //returns type normally
            }
            if (map.get("date") != null) {
                date = map.get("date").toString(); //returns date normally
            }
        }

мои данные Firebase

{
"test": [
      {
        "type_d": "Day",
        "date": "20 Mar"
      },
      {
        "type_d": "Night",
        "date": "11 Mar"
      }
        ]
}

Q: как я собираюсь поместить эти данные до testModel?

1 Ответ

1 голос
/ 13 марта 2020

Вы можете сделать это так:

for (postSnapshot in dataSnapshot.children) {
     val post = postSnapshot.getValue<TestModel>()
     testModelList.add(post)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...