FragmentManager.getFragment() NullPointerException
Bin ich mit dem support library v4 und dann nicht zu speichern fragment Zustand.
@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");
}
...
}
Wenn ich Anrufe, getFragment() NullPointerException geworfen wird (savedInstanceState enthält Eintrag mit "frag").
Hier ist der Teil der logcat-Ausgabe:
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)
Auch habe ich versucht zu rufen getFragments()
gibt null
. Das scheint mir seltsam.
Werde ich für jede Hilfe dankbar!
Lösung:
Ich vergessen super.onSaveInstanceState(outState);
innen onCreate
Methode.
- Rufen Sie onSaveInstanceState-Methode innerhalb Ihrer übergeordneten Aktivität? (sehen)
- Ja, sehr dumm von mir, habe vergessen zu nennen
super.onSaveInstanceState(outState)
.Ich danke Ihnen sehr! - Du bist herzlich willkommen. Froh, dass es jetzt funktioniert.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dank @Fllo. Das problem war, dass ich vergessen habe zu nennen
onSaveInstanceState()
der übergeordneten Aktivität.void onSaveInstanceState
Recht?