RangeError (index): Invalid value:有效值范围为空:0颜色



这是一个文本编辑应用程序。我想改变我的文本颜色。我不知道错误是什么。

List<TextInfo> texts = [];
int currentIndex = 0;

changeTextColor(Color color) {
setState(() {
texts[currentIndex].color = color; //it works
});
}
changeTextColor1(context) {
Widget buildColorPicker() {
return ColorPicker(
pickerColor: texts[currentIndex].color, //there
onColorChanged: (color) => setState(
() => texts[currentIndex].color = color, //there     
),
);
}

我试图将当前文本的颜色分配给变量。

Color pcolor = texts[currentIndex].color;

使用text . isnotempty()或List texts = [TextInfo()]预检

将重叠的位置集中处理。

changeTextColor(Color color){
if (texts.isEmpty()) return;
texts[currentIndex].color = color;
}
....
....
setState(()=> changeTextColor(color));

有一个快乐的编码生活。:)

如果你有一个列表,比如你的" text ";变量,当您编写诸如文本[0]之类的代码时,您实际上是在尝试检索该列表中的第一个元素。但是由于列表是空的,这将导致一个RangeError。

因为你的文本列表是空的,currentIndex为0,你的代码文本[currentIndex]将产生一个RangeError。

相关内容

  • 没有找到相关文章

最新更新