Urvashi kharecha
Urvashi kharecha

Reputation: 869

flutter alert dialog for updating value

I want to update value in alert dialog i am using following:

Future showAlert() async {
    await showDialog(
        context: context,
        builder: (BuildContext context) {
          return AlertDialog(
            title: Text('Alert in Dialog'),
            content: Container(
              height: 40.0,
              width: 60.0,
              child: Row(
                mainAxisAlignment: MainAxisAlignment.center,
                children: <Widget>[
                  _itemCount != 1
                      ? new IconButton(
                          icon: new Icon(Icons.remove),
                          onPressed: () => setState(() => _itemCount--),
                        )
                      : new Container(),
                  new Text(_itemCount.toString()),
                  new IconButton(
                      icon: new Icon(Icons.add),
                      onPressed: () => setState(() => _itemCount++))
                ],
              ),
            ),
            actions: <Widget>[
              new FlatButton(
                child: new Text('CANCEL'),
                onPressed: () {
                  Navigator.of(context).pop();
                },
              )
            ],
          );
        });
  }

I am calling this function in Listview Builder

  GestureDetector(
                                  child: Align(
                                    alignment: Alignment.topRight,
                                    child: Padding(
                                      padding: const EdgeInsets.all(5.0),
                                      child: Icon(Icons.add_box,
                                          color: Color(0xFFfccd01)),
                                    ),
                                  ),
                                  onTap: () {
                                    showAlert();
                                  /*  FutureBuilder<String>(
                                        future: Add_to_cart(USER_ID,
                                            snapshot.data[index].id, "1"),
                                        builder: (context, snapshot) {
                                          print(snapshot.data);
                                        });*/
                                  },
                                ),

But on + click my value of alert dialog is not going to update after i close and reopen it it will update but i want to update on tap of icon button.

Upvotes: 1

Views: 1308

Answers (2)

theshivamlko
theshivamlko

Reputation: 281

You can use StreamBuilder to update within Dialog or that screen also on single event thru Streams

Upvotes: 1

rg16
rg16

Reputation: 42

You must insert AlertDialog into Statefulll Widget

see this example:

class ShowDialog extends StatefulWidget {
  @override
  _ShowDialogState createState() => _ShowDialogState();
}

class _ShowDialogState extends State<ShowDialog> {
  @override
  Widget build(BuildContext context) {
    return AlertDialog(
      //your container
    );
  }
}

and call ShowDialog into showDialog()

Upvotes: 0

Related Questions