无效值:不在包含范围 0..1:-1
Invalid value: Not in inclusive range 0..1: -1
我按照传递值到下一页,这样我就可以获取数据,但是当我使用列表视图显示图像时,应用程序提醒
'Invalid value: Not in inclusive range 0..1: -1'
我应该在哪里修改代码?
Container(
margin: const EdgeInsets.symmetric(vertical: 20.0),
height: 130.0,
child: ListView.builder(
itemCount: keepImage.length,
scrollDirection: Axis.horizontal,
shrinkWrap: true,
// itemCount: 1,
itemBuilder: (context, index) {
return InkWell(
child: Padding(
padding: EdgeInsets.only(
top: 8.0,
bottom: 8.0,
left: 8.0,
right: 8.0),
child: Container(
height: 140,
width: 140,
child: Container(
child: ClipRRect(
borderRadius:
BorderRadius.circular(8),
child: AspectRatio(
aspectRatio: 1.2,
child: Container(
width: double.infinity,
height: 400,
decoration: BoxDecoration(
image: DecorationImage(
image: FileImage(
keepImage[index - 1]),
fit: BoxFit.cover)),
),
)),
)),
));
}),
),
在您的代码中 FileImage(keepImage[index - 1])
。您正在用 1 减去索引,这将导致 -1。但可接受值为 0 或大于 0 的值。将其更改为 FileImage(keepImage[index])
。然后它应该按预期工作。
我按照传递值到下一页,这样我就可以获取数据,但是当我使用列表视图显示图像时,应用程序提醒 'Invalid value: Not in inclusive range 0..1: -1'
我应该在哪里修改代码?
Container(
margin: const EdgeInsets.symmetric(vertical: 20.0),
height: 130.0,
child: ListView.builder(
itemCount: keepImage.length,
scrollDirection: Axis.horizontal,
shrinkWrap: true,
// itemCount: 1,
itemBuilder: (context, index) {
return InkWell(
child: Padding(
padding: EdgeInsets.only(
top: 8.0,
bottom: 8.0,
left: 8.0,
right: 8.0),
child: Container(
height: 140,
width: 140,
child: Container(
child: ClipRRect(
borderRadius:
BorderRadius.circular(8),
child: AspectRatio(
aspectRatio: 1.2,
child: Container(
width: double.infinity,
height: 400,
decoration: BoxDecoration(
image: DecorationImage(
image: FileImage(
keepImage[index - 1]),
fit: BoxFit.cover)),
),
)),
)),
));
}),
),
在您的代码中 FileImage(keepImage[index - 1])
。您正在用 1 减去索引,这将导致 -1。但可接受值为 0 或大于 0 的值。将其更改为 FileImage(keepImage[index])
。然后它应该按预期工作。