引发异常:RangeError(索引)

时间:2019-05-18 01:11:08

标签: exception dart flutter range

我有一个carousel_slider,它抛出以下异常:

Exception was thrown: RangeError (index): Invalid value: Not in range 0..9, inclusive: 10

此滑块显示10个项目,这些项目在我加载应用程序时都可以正常加载,但是会在第一秒钟左右显示此问题。

该滑块具有功能性,对此我感到满意,感觉更像items花费了一段时间才能找到其相应的值。

这就是我产生此问题的方式...

final List _carouselitems = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

int carouselindex;

滑块;

CarouselSlider(
  items: _carouselitems.map((carouselindex) {
    return Builder(
        ...
      );
    },
  }).toList(),
  initialPage: 0,
)

谢谢

1 个答案:

答案 0 :(得分:0)

所以事实证明,我忽略了编程的重要规则,数组从0开始!

这就是我所做的更改:

之前

final List _carouselitems = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

之后

final List _carouselitems = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];

我不知道为什么dart更喜欢这种方式,因为CarouselSlider 会以两种方式加载,当数组从0开始提供{时, {1}},并在更短的时间内得到一个值。

如果您觉得可以提供更好的解决方案/解释,请随时发布,我很可能将其标记为正确的解决方案。