Utilizzo la libreria di supporto v4 e non riesco a salvare lo stato del frammento.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");
}
...
}
Quando chiamo getFragment() NullPointerException è gettato (savedInstanceState contiene voce con "frag").
qui è la parte della produzione 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)
Anche io ho provato a chiamare getFragments()
che restituisce null
. Mi sembra strano
Apprezzerò qualsiasi aiuto!
Soluzione:
ho dimenticato di usare super.onSaveInstanceState(outState);
all'interno onCreate
metodo.
Chiama il metodo onSaveInstanceState all'interno dell'attività padre? ([vedi] (http://stackoverflow.com/a/8752360/2668136)) – Fllo
Sì, molto stupido da parte mia, ho dimenticato di chiamare 'super.onSaveInstanceState (outState)'. Grazie mille! – Tzoiker
Prego. Sono contento che funzioni adesso. – Fllo