Привет, я новичок в flutter
Я использую ListView.Builder, чтобы сделать что-то вроде этого:
Я использую два виджета: один для информации об адресе и один для добавления нового элемента адреса в ListView
Я использую обратный вызов, чтобы сообщить, что добавление IconButton было нажато, но я получил сообщение об ошибке: Доступны только члены stati c в инициализаторах. когда я вызываю addItemToList () метод
это код:
class TestPage2 extends StatefulWidget {
@override
_TestPage2State createState() => _TestPage2State();
}
class _TestPage2State extends State<TestPage2> {
List<Widget> lwidgets = [
_Adresses(),
_HorizontalDivider(),
_AddElement(() {
addItemToList();
})
];
void addItemToList() {
setState(() {
lwidgets.insert(lwidgets.length - 1, _Adresses());
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Contacts'),
),
backgroundColor: Color(0xFFE5E5EA),
body: Column(
children: <Widget>[
Text('ADRESS'),
Container(
height: 200,
child: ListView.builder(
itemCount: lwidgets.length,
itemBuilder: (BuildContext context, int index) {
return (lwidgets[index]);
},
physics: NeverScrollableScrollPhysics(),
),
),
],
),
);
}
}
Это виджет _AddElement:
class _AddElement extends StatelessWidget {
final Function() onAddItem;
const _AddElement(this.onAddItem);
@override
Widget build(BuildContext context) {
return Container(
height: 40,
color: Colors.white,
child: Row(
children: <Widget>[
Container(
height: 40,
color: Colors.white,
child: IconButton(
icon: Icon(Icons.add_circle),
iconSize: 24,
color: Color(0xFF34C759),
onPressed: () {
onAddItem();
},
),
),
],
),
);
}
}
Я ожидаю, что когда я нажму на зеленую кнопку, в ListView будет добавлен новый элемент, например:
Я буду признателен за любую помощь.
Хосе Родригес