Preciso que ao clicar num FloatingActionButton, seja criada uma nova linha (estabelecimento) dentro de uma ListView, porém não faço ideia de como fazer a comunicação entre os dois... Meu Widget a ListView está assim:
lass ListViewBuilder extends StatefulWidget {
const ListViewBuilder({Key? key}) : super(key: key);
@override
State<ListViewBuilder> createState() => _ListViewBuilderState();
}
class _ListViewBuilderState extends State<ListViewBuilder> {
@override
Widget build(BuildContext context) {
return ListView.builder(
padding: const EdgeInsets.all(8),
itemCount: 6,
itemBuilder: (BuildContext, int index) {
return Linha();
});
}
}
No caso, eu possuo outro widget chamado "Linha" mas não vem ao caso...
Já meu Widget do FloatingActionButton está assim:
class MeuFloatingActionButton extends StatefulWidget {
MeuFloatingActionButton({Key? key}) : super(key: key);
@override
State<MeuFloatingActionButton> createState() =>
_MeuFloatingActionButtonState();
}
class _MeuFloatingActionButtonState extends State<MeuFloatingActionButton> {
int qtd = 0;
void _incrementaQtd() {
setState(() {
qtd++;
});
print(qtd);
}
@override
Widget build(BuildContext context) {
return Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Container(
padding: EdgeInsets.only(left: 24),
child: FloatingActionButton(
heroTag: null,
onPressed: () {},
tooltip: 'Vai para a tela de localização',
child: const Icon(Icons.map),
),
),
FloatingActionButton(
heroTag: null,
onPressed: _incrementaQtd,
tooltip: 'Vai para a tela "Cria Estabelecimento" ',
child: const Icon(Icons.add),
),
],
);
}
}
Resumindo... como posso fazer com que essa função incrementaQtd altere o "itemCount" do widget de ListView?