Сообщение об ошибке
Метод 'add' был вызван в null. I / флаттер (10160): приемник: ноль
I / flutter (10160): пробный вызов: добавить (экземпляр 'SvgPicture')
I / флаттер (10160):
Мне нужно добавить все изображения SVG в сетку. Я использовал плагин flutter_svg . Я добавил в pubspec.yaml.
class _MyHomePageState extends State<MyHomePage> {
Future<SvgPicture> _getImages(){
var image;
for(int i = 1; i < 425; i++){
var x = SvgPicture.asset(
'assets/images/Defect/icon-$i.svg',
);
image.add(x);
}
return image;
}
добавлены все изображения в верхнем методе
@override
Widget build(BuildContext context) {
return Scaffold(
body: Container(
добавлен futurebuilder для загрузки всех изображений
child: FutureBuilder<SvgPicture>(
future: _getImages(),
builder: (BuildContext context, AsyncSnapshot snapshot){
List values = snapshot.data;
int count = 1;
добавлен просмотр списка для загрузки всех изображений
return ListView.builder(
padding: EdgeInsets.only(top: 8.0, right: 0.0, left: 0.0),
itemCount: count,
itemBuilder: (BuildContext context, int index) {
return GridView.count(
physics: ScrollPhysics(),
shrinkWrap: true,
crossAxisCount: 4,
// childAspectRatio: 1.0,
children: List.generate(values.length, (index) {
return GridTile(
child: GestureDetector(
// onTap: () => sub(values[index].childId),
child: Column(
children: [
Card(
//color: Colors.blue.shade100,
child: Container(
decoration: BoxDecoration(
border: Border.all(
color: Colors.blueAccent, width: 1.5)),
добавлен виджет svgPicture для просмотра всех изображений
child: Stack(
children: <Widget>[
SvgPicture.asset(
'${values[index]}',
height: 50.0,
),
],
),
),
),
добавлен текстовый виджет для просмотра всех изображений с именем файла
Expanded(
child: Text(
values[index],
textAlign: TextAlign.center,
style: TextStyle(fontSize: 10.0),