Streambuilder не вызывается внутри диалогового окна во флаттере

Я использую код ниже. Я нажимаю какую-то кнопку, и если вызывается мой метод OTP-совпадения ниже. и в этом методе я вызываю bloc. Я использую виджет Statefulwidget.

void matchOtp() {
    showDialog(
        context: context,
        builder: (BuildContext context) {
          return AlertDialog(
            title: Text(ALERT_TITLE),
            content: Text(OtpMatchSuccess),
            actions: <Widget>[
              IconButton(
                  icon: Icon(Icons.check),
                  onPressed: () {
                    if(OtpMatchSuccess == ALERT_OTP_MATCHED){
                    bloc.calledmethodinBloc(); // this method get called properly

                      StreamBuilder(
                          stream: bloc.usertype,
                          builder: (context, AsyncSnapshot<
                              ResponseModel> snapshot) {
                            print("INSIDE"); // My code does not go here. 


                            return Center(child: CircularProgressIndicator());
                          }
                      );

                      print("OUTSIDE");// My code moves outside the streambuilder. Is there any reason for that? 


                    }else{
                      Navigator.of(context, rootNavigator: true).pop('dialog');
                    }
                  })
            ],
          );
        });
  }

0 ответов

Другие вопросы по тегам