我正在尝试将图标动态添加到菜单中。我有一个具有IconData属性的类,一个带有IconData元素的列表以及一个在其中添加图标的小部件。
这是产生错误的代码:
Padding(
padding: EdgeInsets.all(16.0),
child: Icon(category.iconLocation)
),
这是我的清单:
static const _icons = <IconData>[
Icons.sim_card,
Icons.settings_input_antenna,
Icons.network_check,
Icons.shopping_cart,
Icons.shop,
Icons.people
];
这是我的类别课程:
class Category {
final String name;
final ColorSwatch color;
final List<Servicio> units;
final IconData iconLocation;
}
这是我建立类别的方式:
var category = Category(
name: key,
units: units,
color: _baseColors[categoryIndex],
iconLocation: _icons[categoryIndex],
);
我知道错误消息说我给出的是String而不是IconData,但我知道我的变量确实是IconData。
任何帮助将不胜感激。
答案 0 :(得分:0)
如果您的错误是运行时错误而不是编译错误,则您的var categoryIndex值超过了_icons列表中存储的图标数。而String可能是List类抛出的异常消息。