How to resume the fragments ? I have created four fragments -A,B,C,D on diffrent buttons im calling these fragments e.g










0















public void selectFrag(View view) 

Fragment fr = null;
if (view == findViewById(R.id.ivSize))

fr = new SizeFragment();



else if (view == findViewById(R.id.ivFrame))

fr = new FramesFragment();

else if (view == findViewById(R.id.ivMat))

fr = new MatFragment();

else if (view == findViewById(R.id.ivGlass))

fr = new GlassTypeFragment();

Bundle bundle = new Bundle();
bundle.putString("inside_width", insideWidth);
bundle.putString("inside_height", insideHeight);
// set Fragmentclass Arguments
fr.setArguments(bundle);


FragmentManager fm = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fm.beginTransaction();
fragmentTransaction.replace(R.id.fragment_container, fr);
fragmentTransaction.commit();



  • every time i click on buttion new fragment is created.
    I have two resume my previous fragment on button click instead of creating new.









share|improve this question




























    0















    public void selectFrag(View view) 

    Fragment fr = null;
    if (view == findViewById(R.id.ivSize))

    fr = new SizeFragment();



    else if (view == findViewById(R.id.ivFrame))

    fr = new FramesFragment();

    else if (view == findViewById(R.id.ivMat))

    fr = new MatFragment();

    else if (view == findViewById(R.id.ivGlass))

    fr = new GlassTypeFragment();

    Bundle bundle = new Bundle();
    bundle.putString("inside_width", insideWidth);
    bundle.putString("inside_height", insideHeight);
    // set Fragmentclass Arguments
    fr.setArguments(bundle);


    FragmentManager fm = getSupportFragmentManager();
    FragmentTransaction fragmentTransaction = fm.beginTransaction();
    fragmentTransaction.replace(R.id.fragment_container, fr);
    fragmentTransaction.commit();



    • every time i click on buttion new fragment is created.
      I have two resume my previous fragment on button click instead of creating new.









    share|improve this question


























      0












      0








      0








      public void selectFrag(View view) 

      Fragment fr = null;
      if (view == findViewById(R.id.ivSize))

      fr = new SizeFragment();



      else if (view == findViewById(R.id.ivFrame))

      fr = new FramesFragment();

      else if (view == findViewById(R.id.ivMat))

      fr = new MatFragment();

      else if (view == findViewById(R.id.ivGlass))

      fr = new GlassTypeFragment();

      Bundle bundle = new Bundle();
      bundle.putString("inside_width", insideWidth);
      bundle.putString("inside_height", insideHeight);
      // set Fragmentclass Arguments
      fr.setArguments(bundle);


      FragmentManager fm = getSupportFragmentManager();
      FragmentTransaction fragmentTransaction = fm.beginTransaction();
      fragmentTransaction.replace(R.id.fragment_container, fr);
      fragmentTransaction.commit();



      • every time i click on buttion new fragment is created.
        I have two resume my previous fragment on button click instead of creating new.









      share|improve this question
















      public void selectFrag(View view) 

      Fragment fr = null;
      if (view == findViewById(R.id.ivSize))

      fr = new SizeFragment();



      else if (view == findViewById(R.id.ivFrame))

      fr = new FramesFragment();

      else if (view == findViewById(R.id.ivMat))

      fr = new MatFragment();

      else if (view == findViewById(R.id.ivGlass))

      fr = new GlassTypeFragment();

      Bundle bundle = new Bundle();
      bundle.putString("inside_width", insideWidth);
      bundle.putString("inside_height", insideHeight);
      // set Fragmentclass Arguments
      fr.setArguments(bundle);


      FragmentManager fm = getSupportFragmentManager();
      FragmentTransaction fragmentTransaction = fm.beginTransaction();
      fragmentTransaction.replace(R.id.fragment_container, fr);
      fragmentTransaction.commit();



      • every time i click on buttion new fragment is created.
        I have two resume my previous fragment on button click instead of creating new.






      android fragment






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 13 '18 at 14:58







      user10645573

















      asked Nov 13 '18 at 13:17









      PHP MasterPHP Master

      84




      84






















          2 Answers
          2






          active

          oldest

          votes


















          0














          Add your fragments to backstack and when you would like to show again one of them get it from the backstack.






          share|improve this answer























          • can you please provide source code to pop up specific fragment from stack

            – PHP Master
            Nov 14 '18 at 5:37


















          0














          Just retain the instance and the onResume will be hit instead of onCreate.



           //MEMBER VARIABLES OF THE CLASS
          Fragment sizeFragment = new SizeFragment;

          Fragment framesFragment = new FramesFragment;

          Fragment matFragment = new MatFragment;

          Fragment glassTypeFragment = new GlassTypeFragment;

          Fragment selectedFragment = null

          private void updateFragment(View view)
          if (view == findViewById(R.id.ivSize))
          selectedFragment = sizeFragment;
          else if (view == findViewById(R.id.ivFrame))
          selectedFragment = framesFragment;
          else if (view == findViewById(R.id.ivMat))
          selectedFragment = matFragment;
          else if (view == findViewById(R.id.ivGlass))
          selectedFragment = glassTypeFragment;

          Bundle bundle = new Bundle();
          bundle.putString("inside_width", insideWidth);
          bundle.putString("inside_height", insideHeight);
          // set Fragmentclass Arguments
          fr.setArguments(bundle);


          FragmentManager fm = getSupportFragmentManager();
          FragmentTransaction fragmentTransaction = fm.beginTransaction();
          fragmentTransaction.replace(R.id.fragment_container, selectedFragment);
          fragmentTransaction.commit();



          I think it's also worth mentioning that doing a findById each time to compare which fragment to show is a bit heavy in searching xml, I'm sure you can find a better architecture to know which one should be showing, but maybe I'm wrong.



          Hope this helps.



          Happy Coding.






          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%2f53281865%2fhow-to-resume-the-fragments-i-have-created-four-fragments-a-b-c-d-on-diffrent%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown

























            2 Answers
            2






            active

            oldest

            votes








            2 Answers
            2






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            0














            Add your fragments to backstack and when you would like to show again one of them get it from the backstack.






            share|improve this answer























            • can you please provide source code to pop up specific fragment from stack

              – PHP Master
              Nov 14 '18 at 5:37















            0














            Add your fragments to backstack and when you would like to show again one of them get it from the backstack.






            share|improve this answer























            • can you please provide source code to pop up specific fragment from stack

              – PHP Master
              Nov 14 '18 at 5:37













            0












            0








            0







            Add your fragments to backstack and when you would like to show again one of them get it from the backstack.






            share|improve this answer













            Add your fragments to backstack and when you would like to show again one of them get it from the backstack.







            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered Nov 13 '18 at 13:21









            justjust

            6031923




            6031923












            • can you please provide source code to pop up specific fragment from stack

              – PHP Master
              Nov 14 '18 at 5:37

















            • can you please provide source code to pop up specific fragment from stack

              – PHP Master
              Nov 14 '18 at 5:37
















            can you please provide source code to pop up specific fragment from stack

            – PHP Master
            Nov 14 '18 at 5:37





            can you please provide source code to pop up specific fragment from stack

            – PHP Master
            Nov 14 '18 at 5:37













            0














            Just retain the instance and the onResume will be hit instead of onCreate.



             //MEMBER VARIABLES OF THE CLASS
            Fragment sizeFragment = new SizeFragment;

            Fragment framesFragment = new FramesFragment;

            Fragment matFragment = new MatFragment;

            Fragment glassTypeFragment = new GlassTypeFragment;

            Fragment selectedFragment = null

            private void updateFragment(View view)
            if (view == findViewById(R.id.ivSize))
            selectedFragment = sizeFragment;
            else if (view == findViewById(R.id.ivFrame))
            selectedFragment = framesFragment;
            else if (view == findViewById(R.id.ivMat))
            selectedFragment = matFragment;
            else if (view == findViewById(R.id.ivGlass))
            selectedFragment = glassTypeFragment;

            Bundle bundle = new Bundle();
            bundle.putString("inside_width", insideWidth);
            bundle.putString("inside_height", insideHeight);
            // set Fragmentclass Arguments
            fr.setArguments(bundle);


            FragmentManager fm = getSupportFragmentManager();
            FragmentTransaction fragmentTransaction = fm.beginTransaction();
            fragmentTransaction.replace(R.id.fragment_container, selectedFragment);
            fragmentTransaction.commit();



            I think it's also worth mentioning that doing a findById each time to compare which fragment to show is a bit heavy in searching xml, I'm sure you can find a better architecture to know which one should be showing, but maybe I'm wrong.



            Hope this helps.



            Happy Coding.






            share|improve this answer



























              0














              Just retain the instance and the onResume will be hit instead of onCreate.



               //MEMBER VARIABLES OF THE CLASS
              Fragment sizeFragment = new SizeFragment;

              Fragment framesFragment = new FramesFragment;

              Fragment matFragment = new MatFragment;

              Fragment glassTypeFragment = new GlassTypeFragment;

              Fragment selectedFragment = null

              private void updateFragment(View view)
              if (view == findViewById(R.id.ivSize))
              selectedFragment = sizeFragment;
              else if (view == findViewById(R.id.ivFrame))
              selectedFragment = framesFragment;
              else if (view == findViewById(R.id.ivMat))
              selectedFragment = matFragment;
              else if (view == findViewById(R.id.ivGlass))
              selectedFragment = glassTypeFragment;

              Bundle bundle = new Bundle();
              bundle.putString("inside_width", insideWidth);
              bundle.putString("inside_height", insideHeight);
              // set Fragmentclass Arguments
              fr.setArguments(bundle);


              FragmentManager fm = getSupportFragmentManager();
              FragmentTransaction fragmentTransaction = fm.beginTransaction();
              fragmentTransaction.replace(R.id.fragment_container, selectedFragment);
              fragmentTransaction.commit();



              I think it's also worth mentioning that doing a findById each time to compare which fragment to show is a bit heavy in searching xml, I'm sure you can find a better architecture to know which one should be showing, but maybe I'm wrong.



              Hope this helps.



              Happy Coding.






              share|improve this answer

























                0












                0








                0







                Just retain the instance and the onResume will be hit instead of onCreate.



                 //MEMBER VARIABLES OF THE CLASS
                Fragment sizeFragment = new SizeFragment;

                Fragment framesFragment = new FramesFragment;

                Fragment matFragment = new MatFragment;

                Fragment glassTypeFragment = new GlassTypeFragment;

                Fragment selectedFragment = null

                private void updateFragment(View view)
                if (view == findViewById(R.id.ivSize))
                selectedFragment = sizeFragment;
                else if (view == findViewById(R.id.ivFrame))
                selectedFragment = framesFragment;
                else if (view == findViewById(R.id.ivMat))
                selectedFragment = matFragment;
                else if (view == findViewById(R.id.ivGlass))
                selectedFragment = glassTypeFragment;

                Bundle bundle = new Bundle();
                bundle.putString("inside_width", insideWidth);
                bundle.putString("inside_height", insideHeight);
                // set Fragmentclass Arguments
                fr.setArguments(bundle);


                FragmentManager fm = getSupportFragmentManager();
                FragmentTransaction fragmentTransaction = fm.beginTransaction();
                fragmentTransaction.replace(R.id.fragment_container, selectedFragment);
                fragmentTransaction.commit();



                I think it's also worth mentioning that doing a findById each time to compare which fragment to show is a bit heavy in searching xml, I'm sure you can find a better architecture to know which one should be showing, but maybe I'm wrong.



                Hope this helps.



                Happy Coding.






                share|improve this answer













                Just retain the instance and the onResume will be hit instead of onCreate.



                 //MEMBER VARIABLES OF THE CLASS
                Fragment sizeFragment = new SizeFragment;

                Fragment framesFragment = new FramesFragment;

                Fragment matFragment = new MatFragment;

                Fragment glassTypeFragment = new GlassTypeFragment;

                Fragment selectedFragment = null

                private void updateFragment(View view)
                if (view == findViewById(R.id.ivSize))
                selectedFragment = sizeFragment;
                else if (view == findViewById(R.id.ivFrame))
                selectedFragment = framesFragment;
                else if (view == findViewById(R.id.ivMat))
                selectedFragment = matFragment;
                else if (view == findViewById(R.id.ivGlass))
                selectedFragment = glassTypeFragment;

                Bundle bundle = new Bundle();
                bundle.putString("inside_width", insideWidth);
                bundle.putString("inside_height", insideHeight);
                // set Fragmentclass Arguments
                fr.setArguments(bundle);


                FragmentManager fm = getSupportFragmentManager();
                FragmentTransaction fragmentTransaction = fm.beginTransaction();
                fragmentTransaction.replace(R.id.fragment_container, selectedFragment);
                fragmentTransaction.commit();



                I think it's also worth mentioning that doing a findById each time to compare which fragment to show is a bit heavy in searching xml, I'm sure you can find a better architecture to know which one should be showing, but maybe I'm wrong.



                Hope this helps.



                Happy Coding.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Nov 13 '18 at 13:30









                SamSam

                3,05011123




                3,05011123



























                    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%2f53281865%2fhow-to-resume-the-fragments-i-have-created-four-fragments-a-b-c-d-on-diffrent%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

                    Top Tejano songwriter Luis Silva dead of heart attack at 64

                    ReactJS Fetched API data displays live - need Data displayed static

                    政党