Ich verwende Support-Bibliothek v4 und Fehler beim Speichern des Fragmentstatus.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");
}
...
}
Wenn ich rufe getFragment() Nullpointer 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 ich habe versucht getFragments()
zu nennen, die null
zurückgibt. Das erscheint mir komisch.
Ich werde jede Hilfe zu schätzen wissen!
Lösung:
Ich vergaß super.onSaveInstanceState(outState);
innerhalb onCreate
Methode zu verwenden.
Rufen Sie die onSaveInstanceState-Methode innerhalb Ihrer übergeordneten Aktivität auf? (http://stackoverflow.com/a/8752360/2668136)) – Fllo
Ja, sehr dumm von mir, vergaß "super.onSaveInstanceState (outState)" zu nennen. "Vielen Dank! – Tzoiker
Gern geschehen. Froh, dass es jetzt funktioniert. – Fllo