Я предполагаю показать каждый элемент моего shopList в ListView, но я не могу найти причину, почему он продолжает показывать одну и ту же запись. Пожалуйста, помогите решить эту проблему.
Здесь с кодом получите данные из базы данных Firebase.
databaseReference.once().then((DataSnapshot snapshot) {
Map<dynamic, dynamic> getMap = snapshot.value;
getMap.forEach((k, v) {
Map<dynamic, dynamic> f = v;
shop.key = k;
shop.shopName = f["ShopName"];
shop.tel = f["ShopTel"];
shop.address = f["ShopAddress"];
shop.thumbnail = f["Thumbnail"];
debugPrint(k);
shopList.add(shop);
debugPrint(shopList[shopList.length-1].shopName);
});
});
Результат отладки:
- флаттер: -LLySYDHHHx9WtCvKPrO
- флаттер: shop1111
- флаттер: -LLyXwR0nnAcx6_H4cYy
- флаттер: shop2222
Здесь с базой данных:
![enter image description here](https://i.stack.imgur.com/ydPk5.png)
Здесь с кодом для ListView:
child: Flexible(
child: new ListView.builder(
itemCount: shopList.length,
itemBuilder: (context, index) {
return new Card(
color: Colors.red,
//elevation: 2.0,
child: new ListTile(
title: new Text("Name: ${shopList[index].key}"),
),
);
}),
),
Результат симулятора:
![enter image description here](https://i.stack.imgur.com/8mgBW.png)