WHEN APP IS RESTORED THE FRAGMENT IS VISIBLE ONLY FOR A SECOND?

sandy taylor

Total Post:46

Points:324
Posted by  sandy taylor
 1008  View(s)
Ratings:
Rate this:

I have an app that uses fragments. If I enable "dont keep activities", then enter the activity and enter the fragment, then minimize with the Home button and reopen the app the following behavior occurs - the app restores on the open fragment for about half a second, and immediately after that the fragment closes and the main activity for the application shows.

Do I need to perform some sort of restore state for the fragment manager for cases like this? Also, why is the fragment showing at all for half a second and then closing?

code for the MainActivity:

myFragment = (MyFragment) MyFragment.create(id);

            getSupportFragmentManager().beginTransaction().setCustomAnimations(R.anim.slide_in_right,     R.anim.slide_out_left, R.anim.slide_in_left, R.anim.slide_out_right)

                //.hide(getMainFragment())

                .add(R.id.content, MyFragment.create(id), MY_FRAGMENT_TAG)

                .addToBackStack(null)

                .commit();

        setDrawerIndicatorEnabled(false);

  1. Maria Susan

    Post:29

    Points:107
    Re: when app is restored the fragment is visible only for a second?

    fragment lifecycle behaves differently when you have used "dont keep activities" enabled.

    Normal flow of activity with fragment

    MainActivity onCreate

              Fragment onAttach

              Fragment onCreate

              Fragment onCreateView

              Fragment onViewCreated

              Fragment onActivityCreated

    MainActivity onStart

              Fragment onStart

    But when you have enabled "dont keep activities" and pressed home button then the lifecycle behaves differently as

       Fragment onAttach

              Fragment onCreate

    MainActivity onCreate

              Fragment onCreateView

              Fragment onViewCreated

              Fragment onActivityCreated

    MainActivity onStart

              Fragment onStart

    So, purely depends upon the logic you have written. 

Answer

NEWSLETTER

Enter your email address here always to be updated. We promise not to spam!