OnStateChanged Method in Flutter










1















In Flutter, is there a method like onStateChanged which is called when the state of the page changes?



setState(() 
widget._loadCompleted = true;
widget._loading = false;
);


I'm trying to set the two bool values in setState() method. I'm setting states for several other reasons. So I want to know if the last state change was for this particular reason.










share|improve this question
























  • How would onStateChanged help? There is no such thing anyway.

    – Günter Zöchbauer
    Nov 15 '18 at 7:21











  • @Vishnu I edited my answer with code, did that help you?

    – CopsOnRoad
    Nov 17 '18 at 5:58















1















In Flutter, is there a method like onStateChanged which is called when the state of the page changes?



setState(() 
widget._loadCompleted = true;
widget._loading = false;
);


I'm trying to set the two bool values in setState() method. I'm setting states for several other reasons. So I want to know if the last state change was for this particular reason.










share|improve this question
























  • How would onStateChanged help? There is no such thing anyway.

    – Günter Zöchbauer
    Nov 15 '18 at 7:21











  • @Vishnu I edited my answer with code, did that help you?

    – CopsOnRoad
    Nov 17 '18 at 5:58













1












1








1








In Flutter, is there a method like onStateChanged which is called when the state of the page changes?



setState(() 
widget._loadCompleted = true;
widget._loading = false;
);


I'm trying to set the two bool values in setState() method. I'm setting states for several other reasons. So I want to know if the last state change was for this particular reason.










share|improve this question
















In Flutter, is there a method like onStateChanged which is called when the state of the page changes?



setState(() 
widget._loadCompleted = true;
widget._loading = false;
);


I'm trying to set the two bool values in setState() method. I'm setting states for several other reasons. So I want to know if the last state change was for this particular reason.







flutter state






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 17 '18 at 8:08









CopsOnRoad

5,36922228




5,36922228










asked Nov 15 '18 at 7:16









Vishnu Maheswaran KVishnu Maheswaran K

1147




1147












  • How would onStateChanged help? There is no such thing anyway.

    – Günter Zöchbauer
    Nov 15 '18 at 7:21











  • @Vishnu I edited my answer with code, did that help you?

    – CopsOnRoad
    Nov 17 '18 at 5:58

















  • How would onStateChanged help? There is no such thing anyway.

    – Günter Zöchbauer
    Nov 15 '18 at 7:21











  • @Vishnu I edited my answer with code, did that help you?

    – CopsOnRoad
    Nov 17 '18 at 5:58
















How would onStateChanged help? There is no such thing anyway.

– Günter Zöchbauer
Nov 15 '18 at 7:21





How would onStateChanged help? There is no such thing anyway.

– Günter Zöchbauer
Nov 15 '18 at 7:21













@Vishnu I edited my answer with code, did that help you?

– CopsOnRoad
Nov 17 '18 at 5:58





@Vishnu I edited my answer with code, did that help you?

– CopsOnRoad
Nov 17 '18 at 5:58












1 Answer
1






active

oldest

votes


















2














As Günter mentioned, there is no such thing like onStateChanged(). You have to deal it in build() method.



If I got you right, you can use like this:



class _MyAppState extends State<MyApp> 
bool myFlag = false; // initially set to false

void _doYourWork()
setState(() => myFlag = true); // set to true here


@override
Widget build(BuildContext context)
if (myFlag)
// setState() just got called
else
// we are building fresh for the first time.

myFlag = false;
return yourWidget();




After this build() will receive myFlag value to true and it can then set to false again. So, you can do this trick.






share|improve this answer

























    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%2f53314209%2fonstatechanged-method-in-flutter%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














    As Günter mentioned, there is no such thing like onStateChanged(). You have to deal it in build() method.



    If I got you right, you can use like this:



    class _MyAppState extends State<MyApp> 
    bool myFlag = false; // initially set to false

    void _doYourWork()
    setState(() => myFlag = true); // set to true here


    @override
    Widget build(BuildContext context)
    if (myFlag)
    // setState() just got called
    else
    // we are building fresh for the first time.

    myFlag = false;
    return yourWidget();




    After this build() will receive myFlag value to true and it can then set to false again. So, you can do this trick.






    share|improve this answer





























      2














      As Günter mentioned, there is no such thing like onStateChanged(). You have to deal it in build() method.



      If I got you right, you can use like this:



      class _MyAppState extends State<MyApp> 
      bool myFlag = false; // initially set to false

      void _doYourWork()
      setState(() => myFlag = true); // set to true here


      @override
      Widget build(BuildContext context)
      if (myFlag)
      // setState() just got called
      else
      // we are building fresh for the first time.

      myFlag = false;
      return yourWidget();




      After this build() will receive myFlag value to true and it can then set to false again. So, you can do this trick.






      share|improve this answer



























        2












        2








        2







        As Günter mentioned, there is no such thing like onStateChanged(). You have to deal it in build() method.



        If I got you right, you can use like this:



        class _MyAppState extends State<MyApp> 
        bool myFlag = false; // initially set to false

        void _doYourWork()
        setState(() => myFlag = true); // set to true here


        @override
        Widget build(BuildContext context)
        if (myFlag)
        // setState() just got called
        else
        // we are building fresh for the first time.

        myFlag = false;
        return yourWidget();




        After this build() will receive myFlag value to true and it can then set to false again. So, you can do this trick.






        share|improve this answer















        As Günter mentioned, there is no such thing like onStateChanged(). You have to deal it in build() method.



        If I got you right, you can use like this:



        class _MyAppState extends State<MyApp> 
        bool myFlag = false; // initially set to false

        void _doYourWork()
        setState(() => myFlag = true); // set to true here


        @override
        Widget build(BuildContext context)
        if (myFlag)
        // setState() just got called
        else
        // we are building fresh for the first time.

        myFlag = false;
        return yourWidget();




        After this build() will receive myFlag value to true and it can then set to false again. So, you can do this trick.







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Nov 15 '18 at 14:17

























        answered Nov 15 '18 at 8:19









        CopsOnRoadCopsOnRoad

        5,36922228




        5,36922228





























            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%2f53314209%2fonstatechanged-method-in-flutter%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

            Use pre created SQLite database for Android project in kotlin

            Darth Vader #20

            Ondo