Я сталкиваюсь со странной ошибкой, когда пытаюсь добавить виджет Dynami c в свое приложение. При нажатии кнопки добавления экран становится полностью белым, я не могу понять, почему это происходит. Я использую https://www.youtube.com/watch?v=xPW1vtDDlt4 в качестве ресурса. Я действительно новичок во Flutter, возможно, я забыл что-то добавить, но проверяю много раз. Вот мой код:
class DynamicWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Container(
child: new TextField(
decoration: new InputDecoration(hintText: 'Press + to Add Field'),
),
);
}
}
Инициализация списка.
List<DynamicWidget> listDynamic = [];
Моя функция для добавления виджетов в список.
addDynamic() {
listDynamic.add(new DynamicWidget());
print("addDynamic");
setState(() {});
}
Я не уверен но проблема может быть здесь,
final testText = Visibility(
child: new Column(
children: <Widget>[
new Flexible(
child: new ListView.builder(
itemCount: listDynamic.length,
itemBuilder: (_, index) => listDynamic[index],
),
),
],
),
);
Здесь я вызываю свой виджет, который объявляю здесь переменной.
final body = Container(
child: SingleChildScrollView(
child: Column(
children: <Widget>[
testText,
strPhoto
],
),
),
);
И, наконец, моя кнопка.
return Scaffold(
appBar: new AppBar(title: new Text(device_type), centerTitle: true),
drawer: Menu(),
body: body,
floatingActionButton: Column(
crossAxisAlignment: CrossAxisAlignment.end,
mainAxisAlignment: MainAxisAlignment.end,
children: <Widget>[
FloatingActionButton(
heroTag: null,
child: Icon(
Icons.add,
color: Colors.white,
),
onPressed: () {
addDynamic();
},
),
],
));
Спасибо за помощь.