Android RangeError(索引):无效值:不在范围0..5内,包括:6:颤振SliverChildBuilderDelegate
我使用的是Android RangeError(索引):无效值:不在范围0..5内,包括:6:颤振SliverChildBuilderDelegate,android,firebase,flutter,google-cloud-firestore,Android,Firebase,Flutter,Google Cloud Firestore,我使用的是firestore和flattersliverchildbuilderdelegate。 SliverChildBuilderDelegate构建无限索引。但是我的firestore只有6个文档。 结果 RangeError(索引)错误:无效值:不在范围0..5内, 含:7 我怎样才能解决这个问题 SliverChildBuilderDelegate中有一个childCount属性,但不起作用 还尝试了偏移 new SliverFixedExtentList( itemE
firestore
和flattersliverchildbuilderdelegate。
SliverChildBuilderDelegate
构建无限索引。但是我的firestore
只有6个文档。
结果
RangeError(索引)错误:无效值:不在范围0..5内,
含:7
我怎样才能解决这个问题
SliverChildBuilderDelegate中有一个childCount属性,但不起作用
还尝试了偏移
new SliverFixedExtentList(
itemExtent: 80.0,
delegate: new SliverChildBuilderDelegate(
(context, index ,{childCount:5}) => StreamBuilder<QuerySnapshot>(
stream: Firestore.instance.collection('books').orderBy('open_date')
.snapshots(),
builder: (context, snapshot) {
print("\n\n\n\n "+snapshot.data.documents.length.toString());
print("\n\n\n\n\n\n");
if (!snapshot.hasData) return CircularProgressIndicator();
else if(index<snapshot.data.documents.length){
return Card(
child: ListTile(
leading: child1,
title: Text(snapshot.data.documents[index]['title']),
subtitle:
Text(snapshot.data.documents[index]['result']),
),
);
}else{
return Text("data");}
},
),
),
),
新建SliverFixedExtentList(
项目范围:80.0,
代表:新SliverChildBuilderDelegate(
(上下文,索引,{childCount:5})=>StreamBuilder(
流:Firestore.instance.collection('books')。orderBy('open_date'))
.snapshots(),
生成器:(上下文,快照){
打印(“\n\n\n\n”+snapshot.data.documents.length.toString());
打印(“\n\n\n\n\n\n”);
如果(!snapshot.hasData)返回CircularProgressIndicator();
else if(index尝试从SliverChildBuilderDelegate参数中删除childCount。相反,将childCount直接放在生成器的代码块之后。(下面是一个要查看的示例:)
新建SliverFixedExtentList(
项目范围:80.0,
代表:新SliverChildBuilderDelegate(
(上下文、索引)=>StreamBuilder(
流:Firestore.instance.collection('books')。orderBy('open_date'))
.snapshots(),
生成器:(上下文,快照){
打印(“\n\n\n\n”+snapshot.data.documents.length.toString());
打印(“\n\n\n\n\n\n”);
如果(!snapshot.hasData)返回CircularProgressIndicator();
else if(索引
new SliverFixedExtentList(
itemExtent: 80.0,
delegate: new SliverChildBuilderDelegate(
(context, index) => StreamBuilder<QuerySnapshot>(
stream: Firestore.instance.collection('books').orderBy('open_date')
.snapshots(),
builder: (context, snapshot) {
print("\n\n\n\n "+snapshot.data.documents.length.toString());
print("\n\n\n\n\n\n");
if (!snapshot.hasData) return CircularProgressIndicator();
else if(index<snapshot.data.documents.length){
return Card(
child: ListTile(
leading: child1,
title: Text(snapshot.data.documents[index]['title']),
subtitle:
Text(snapshot.data.documents[index]['result']),
),
);
}else{
return Text("data");}
},
childCount:5,
),
),
),