1

Flow Image I am facing a strange issue related to saving the state in Android. When I turn on Don't Keep Activities option in Android(From Developer Option). Then if I launch Activity B(which launches Fragment B) from Fragment A (launched by Activity A). Then my onSavedInstance method is getting called in Fragment A but in OnCreate method of Fragment A, I am getting received bundle as null.

And above is inconsistent means sometimes (Specially reproduced when clear the data Android).

In my Activity A in method onSaveInstanceState I have saved my Fragment A with below impl -:

getSupportFragmentManager().putFragment(Bundle,FRAGMENT_TAG,instanceOFFragA);

Also in my onCreate I am trying to retrieve the saved Fragment A with below impl -:

if (savedInstanceState != null) {
    args = savedInstanceState;
    Fragment fragment = getSupportFragmentManager().getFragment(savedInstanceState, FRAGMENT_TAG);
    if (fragment != null && fragment.getClass().equals(FragA.class)) {
        instanceOfFragA = (FragA) getSupportFragmentManager().getFragment(savedInstanceState, FRAGMENT_TAG);
    }
}

But in OnCreate I am getting instance of Fragment C (which is basically a Registration Fragment which have Login & Register button, Login click will launch LoginActivity which inturn launches LoginFragment. If login get success it calls back on Activity A which launches Fragment A(as login is success)).

Shivam Kumar
  • 1,892
  • 2
  • 21
  • 33
craftizmv
  • 71
  • 6

0 Answers0