我正在try 显示来自FiRestore的数据列表中的ListView.Builder.我像这样获取和存储我的数据
List filterMangaList = [];
Future<List> getFavMangas() async {
var value = await firestore.collection("users").doc(user.uid).get();
final favMangasList = value.data()?["fav_manga"];
filterMangaList.clear();
for (var i in favMangasList) {
final mangas = await FirebaseFirestore.instance
.collection('mangas')
.where('title', isEqualTo: i)
.get();
final filterManga = mangas.docs.map((doc) => doc.data()).toList();
filterMangaList.add(filterManga);
}
return filterMangaList;
}
我要提取数据的列表是filterMangaList
人,如下所示
[[{total_chapter: 361, pic: https://images.pexels.com/photos/213780/pexels-photo-213780.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500, title: My Hero Academia}], [{total_chapter: 700, pic: https://images.pexels.com/photos/213780/pexels-photo-213780.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500, title: Naruto}]]
个
我的ListView.Builder如下所示
FutureBuilder(
future: getFavMangas(),
builder: (context, AsyncSnapshot future) {
if (!future.hasData)
return Container();
else {
var filterMangaList = future.data;
print(filterMangaList);
return ListView.builder(
shrinkWrap: true,
itemCount: filterMangaList.length,
itemBuilder: (BuildContext context, int index) {
return Container(
child: Text(filterMangaList[index]["title"]),
);
},
);
}
}),
但我有一个错误:
_TypeError(‘字符串’类型不是‘index’的‘int’类型的子类型)
我想这是因为我有太多的[]
,但我不知道如何解决这个问题.