I know, this question is asked before on stackoverflow, but non of the answers worked for me.
Probably worth mentioning:
- I use ActionBarSherlock with the support package.
- Method
onSaveInstanceState
IS called when I press the home button. The methodonCreate
just always gives NULL for theBundle savedInstanceState
. - Method
onRestoreInstanceState
is never called at all. (I wouldn't mind if theonCreate
worked ;)). - Also (it shouldn't matter) I tried putting
super.onSaveInstanceState(outState)
at the bottom ofonSaveInstanceState
. No luck either.
Here's the code. I hope someone had this problem and solved it.
public class MainActivity extends SherlockFragmentActivity {
private static final String LOG_TAG = MainActivity.class.getSimpleName();
private static String STATE_TO_STORE = "state_to_store";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d(LOG_TAG, "onCreate: savedInstanceState = " + (savedInstanceState == null ? "NULL" : "Not NULL"));
// ... more code...
}
@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
Log.d(LOG_TAG, "onRestoreInstanceState: savedInstanceState = " + (savedInstanceState == null ? "NULL" : "Not NULL"));
}
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putInt(STATE_TO_STORE, 5); // store some int
Log.d(LOG_TAG, "onSaveInstanceState bundle: " + outState.toString());
}
// ... more code ...
}
The logging clearly states onSaveInstanceState
is being called and onCreate gets savedInstanceState = NULL
.
noHistory
to betrue
? – Rill