Flutter: showDialog: build function returned null












1















I have a StatefulWidget. Then when I click a button, it shows an alert dialog. When I implement:



onTap: () {
showDialog(
context: context,
builder: (BuildContext context) {
return AlertDialog(
title: Text("Hello"),
);
}

}


Everything works fine. But when I transfered the things inside the builder to a different StatefulWidget, then this error occurs:



A build function returned null.
I/flutter ( 3647): The offending widget is: Builder
I/flutter ( 3647): Build functions must never return null. To return an empty space that causes the building widget to
I/flutter ( 3647): fill available room, return "new Container()". To return an empty space that takes as little room as
I/flutter ( 3647): possible, return "new Container(width: 0.0, height: 0.0)".


Here is the code:



Here is the calling StatefulWidget:
onTap: () {

showDialog(
context: context,
builder: (BuildContext context) {
LastVacDialog(
currentDose: currDose,
currentDate: currDate,
currentIndex: i,
setValue: changeDoseValueAndDate,
);

},
);
},

Here is the new StatefulWidget:
class LastVacDialog extends StatefulWidget {
LastVacDialog({
this.currentDose,
this.currentDate,
this.setValue,
this.currentIndex,
});

final int currentDose;
final DateTime currentDate;
final void Function(int, DateTime, int) setValue;
final currentIndex;

@override
LastVacDialogState createState() => new LastVacDialogState();
}

class LastVacDialogState extends State<LastVacDialog> {
int _dose;
DateTime _today;




@override
Widget build(BuildContext context) {
return AlertDialog(
title: Text("Last Dose"),
);
}
}


Is there something wrong with my code? I just omitted some variables for simplicity.










share|improve this question



























    1















    I have a StatefulWidget. Then when I click a button, it shows an alert dialog. When I implement:



    onTap: () {
    showDialog(
    context: context,
    builder: (BuildContext context) {
    return AlertDialog(
    title: Text("Hello"),
    );
    }

    }


    Everything works fine. But when I transfered the things inside the builder to a different StatefulWidget, then this error occurs:



    A build function returned null.
    I/flutter ( 3647): The offending widget is: Builder
    I/flutter ( 3647): Build functions must never return null. To return an empty space that causes the building widget to
    I/flutter ( 3647): fill available room, return "new Container()". To return an empty space that takes as little room as
    I/flutter ( 3647): possible, return "new Container(width: 0.0, height: 0.0)".


    Here is the code:



    Here is the calling StatefulWidget:
    onTap: () {

    showDialog(
    context: context,
    builder: (BuildContext context) {
    LastVacDialog(
    currentDose: currDose,
    currentDate: currDate,
    currentIndex: i,
    setValue: changeDoseValueAndDate,
    );

    },
    );
    },

    Here is the new StatefulWidget:
    class LastVacDialog extends StatefulWidget {
    LastVacDialog({
    this.currentDose,
    this.currentDate,
    this.setValue,
    this.currentIndex,
    });

    final int currentDose;
    final DateTime currentDate;
    final void Function(int, DateTime, int) setValue;
    final currentIndex;

    @override
    LastVacDialogState createState() => new LastVacDialogState();
    }

    class LastVacDialogState extends State<LastVacDialog> {
    int _dose;
    DateTime _today;




    @override
    Widget build(BuildContext context) {
    return AlertDialog(
    title: Text("Last Dose"),
    );
    }
    }


    Is there something wrong with my code? I just omitted some variables for simplicity.










    share|improve this question

























      1












      1








      1


      1






      I have a StatefulWidget. Then when I click a button, it shows an alert dialog. When I implement:



      onTap: () {
      showDialog(
      context: context,
      builder: (BuildContext context) {
      return AlertDialog(
      title: Text("Hello"),
      );
      }

      }


      Everything works fine. But when I transfered the things inside the builder to a different StatefulWidget, then this error occurs:



      A build function returned null.
      I/flutter ( 3647): The offending widget is: Builder
      I/flutter ( 3647): Build functions must never return null. To return an empty space that causes the building widget to
      I/flutter ( 3647): fill available room, return "new Container()". To return an empty space that takes as little room as
      I/flutter ( 3647): possible, return "new Container(width: 0.0, height: 0.0)".


      Here is the code:



      Here is the calling StatefulWidget:
      onTap: () {

      showDialog(
      context: context,
      builder: (BuildContext context) {
      LastVacDialog(
      currentDose: currDose,
      currentDate: currDate,
      currentIndex: i,
      setValue: changeDoseValueAndDate,
      );

      },
      );
      },

      Here is the new StatefulWidget:
      class LastVacDialog extends StatefulWidget {
      LastVacDialog({
      this.currentDose,
      this.currentDate,
      this.setValue,
      this.currentIndex,
      });

      final int currentDose;
      final DateTime currentDate;
      final void Function(int, DateTime, int) setValue;
      final currentIndex;

      @override
      LastVacDialogState createState() => new LastVacDialogState();
      }

      class LastVacDialogState extends State<LastVacDialog> {
      int _dose;
      DateTime _today;




      @override
      Widget build(BuildContext context) {
      return AlertDialog(
      title: Text("Last Dose"),
      );
      }
      }


      Is there something wrong with my code? I just omitted some variables for simplicity.










      share|improve this question














      I have a StatefulWidget. Then when I click a button, it shows an alert dialog. When I implement:



      onTap: () {
      showDialog(
      context: context,
      builder: (BuildContext context) {
      return AlertDialog(
      title: Text("Hello"),
      );
      }

      }


      Everything works fine. But when I transfered the things inside the builder to a different StatefulWidget, then this error occurs:



      A build function returned null.
      I/flutter ( 3647): The offending widget is: Builder
      I/flutter ( 3647): Build functions must never return null. To return an empty space that causes the building widget to
      I/flutter ( 3647): fill available room, return "new Container()". To return an empty space that takes as little room as
      I/flutter ( 3647): possible, return "new Container(width: 0.0, height: 0.0)".


      Here is the code:



      Here is the calling StatefulWidget:
      onTap: () {

      showDialog(
      context: context,
      builder: (BuildContext context) {
      LastVacDialog(
      currentDose: currDose,
      currentDate: currDate,
      currentIndex: i,
      setValue: changeDoseValueAndDate,
      );

      },
      );
      },

      Here is the new StatefulWidget:
      class LastVacDialog extends StatefulWidget {
      LastVacDialog({
      this.currentDose,
      this.currentDate,
      this.setValue,
      this.currentIndex,
      });

      final int currentDose;
      final DateTime currentDate;
      final void Function(int, DateTime, int) setValue;
      final currentIndex;

      @override
      LastVacDialogState createState() => new LastVacDialogState();
      }

      class LastVacDialogState extends State<LastVacDialog> {
      int _dose;
      DateTime _today;




      @override
      Widget build(BuildContext context) {
      return AlertDialog(
      title: Text("Last Dose"),
      );
      }
      }


      Is there something wrong with my code? I just omitted some variables for simplicity.







      dart flutter






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 27 '18 at 11:16









      nypoginypogi

      12414




      12414
























          1 Answer
          1






          active

          oldest

          votes


















          2














          Add the Word Return in Front of - LastVacDialog



          builder: (BuildContext context) {
          return LastVacDialog(
          ...


          As Error is Stating Build function must never return null. So return your LastVacDialog Widget by adding return in front of it.






          share|improve this answer
























          • Thanks! Why does it need the return?

            – nypogi
            Nov 27 '18 at 11:30











          • Build Method is a function that creates a widget, & we need to return a value to that which can't be null.

            – anmol.majhail
            Nov 27 '18 at 11:46











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53498470%2fflutter-showdialog-build-function-returned-null%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          2














          Add the Word Return in Front of - LastVacDialog



          builder: (BuildContext context) {
          return LastVacDialog(
          ...


          As Error is Stating Build function must never return null. So return your LastVacDialog Widget by adding return in front of it.






          share|improve this answer
























          • Thanks! Why does it need the return?

            – nypogi
            Nov 27 '18 at 11:30











          • Build Method is a function that creates a widget, & we need to return a value to that which can't be null.

            – anmol.majhail
            Nov 27 '18 at 11:46
















          2














          Add the Word Return in Front of - LastVacDialog



          builder: (BuildContext context) {
          return LastVacDialog(
          ...


          As Error is Stating Build function must never return null. So return your LastVacDialog Widget by adding return in front of it.






          share|improve this answer
























          • Thanks! Why does it need the return?

            – nypogi
            Nov 27 '18 at 11:30











          • Build Method is a function that creates a widget, & we need to return a value to that which can't be null.

            – anmol.majhail
            Nov 27 '18 at 11:46














          2












          2








          2







          Add the Word Return in Front of - LastVacDialog



          builder: (BuildContext context) {
          return LastVacDialog(
          ...


          As Error is Stating Build function must never return null. So return your LastVacDialog Widget by adding return in front of it.






          share|improve this answer













          Add the Word Return in Front of - LastVacDialog



          builder: (BuildContext context) {
          return LastVacDialog(
          ...


          As Error is Stating Build function must never return null. So return your LastVacDialog Widget by adding return in front of it.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Nov 27 '18 at 11:24









          anmol.majhailanmol.majhail

          4,1232320




          4,1232320













          • Thanks! Why does it need the return?

            – nypogi
            Nov 27 '18 at 11:30











          • Build Method is a function that creates a widget, & we need to return a value to that which can't be null.

            – anmol.majhail
            Nov 27 '18 at 11:46



















          • Thanks! Why does it need the return?

            – nypogi
            Nov 27 '18 at 11:30











          • Build Method is a function that creates a widget, & we need to return a value to that which can't be null.

            – anmol.majhail
            Nov 27 '18 at 11:46

















          Thanks! Why does it need the return?

          – nypogi
          Nov 27 '18 at 11:30





          Thanks! Why does it need the return?

          – nypogi
          Nov 27 '18 at 11:30













          Build Method is a function that creates a widget, & we need to return a value to that which can't be null.

          – anmol.majhail
          Nov 27 '18 at 11:46





          Build Method is a function that creates a widget, & we need to return a value to that which can't be null.

          – anmol.majhail
          Nov 27 '18 at 11:46




















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53498470%2fflutter-showdialog-build-function-returned-null%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          A CLEAN and SIMPLE way to add appendices to Table of Contents and bookmarks

          Calculate evaluation metrics using cross_val_predict sklearn

          Insert data from modal to MySQL (multiple modal on website)