Używam biblioteki pomocy v4 i nie mogę zapisać stanu fragmentu.FragmentManager.getFragment() NullPointerException
@Override
protected void onSaveInstanceState(Bundle outState)
{
...
if(mFragment != null)
getSupportFragmentManager().putFragment(outState, "frag", mFragment);
...
}
@Override
protected void onCreate(Bundle savedInstanceState)
{
...
if(savedInstanceState != null)
{
//Here I get NullPointerException
getSupportFragmentManager().getFragment(savedInstanceState, "frag");
}
...
}
Kiedy zadzwonić getFragment() NullPointerException jest wyrzucany (savedInstanceState zawiera wpis z "frag").
Oto część produkcji logcat:
04-18 00:10:56.719: E/AndroidRuntime(14644): Caused by: java.lang.NullPointerException
04-18 00:10:56.719: E/AndroidRuntime(14644): at android.support.v4.app.FragmentManagerImpl.getFragment(FragmentManager.java:569)
Również próbowałem zadzwonić getFragments()
która zwraca null
. Wydaje mi się to dziwne.
Doceniam każdą pomoc!
Rozwiązanie:
zapomniałem użyć super.onSaveInstanceState(outState);
wewnątrz onCreate
metody.
Czy wywołujesz metodę SaveSstanceState w ramach aktywności nadrzędnej? ([see] (http://stackoverflow.com/a/8752360/2668136)) – Fllo
Tak, bardzo głupi ze mnie, zapomniałem zadzwonić 'super.onSaveInstanceState (outState)'. Dziękuję bardzo! – Tzoiker
Nie ma za co. Cieszę się, że teraz działa. – Fllo