Donc, je sais que la question est en double, mais je n'ai pas trouvé de solution dans ces réponses. J'ai une MainActivity et une GameDetailActivity. Parent hiérarchique MainActivity de GameDetailActivity. Ici, il est des déclarations dans le fichier manifeste:Android: Activity onCreate savedInstanceState allways est null
<activity
android:name=".MainActivity"
android:screenOrientation="portrait"
android:theme="@style/AppTheme2"
android:noHistory="false"
>
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity
android:name=".GameDetailActivity"
android:theme="@style/AppTheme2"
android:parentActivityName=".MainActivity"
android:noHistory="false"
>
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="de.exam.example.MainActivity"/>
</activity>
ici Déclaration AppTheme2:
<style name="AppTheme2" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="android:windowActionBar">false</item>
<item name="android:windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
ici retour logique GameDetailActivity:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
Intent upIntent = NavUtils.getParentActivityIntent(this);
if (NavUtils.shouldUpRecreateTask(this, upIntent)) {
TaskStackBuilder.create(this)
.addNextIntentWithParentStack(upIntent)
.startActivities();
} else {
NavUtils.navigateUpTo(this, upIntent);
}
return true;
default:break;
}
return super.onOptionsItemSelected(item);
}
et quand je presse la maison vers le haut (retour "< - ") dans GameDetailActivity Je m'obtiens toujours savedInstanceState est null dans MainActivity. Je ne comprends pas pourquoi les données enregistrées ont été perdues dans MainActivity.
EDIT
Commencez ici Code GameDetailActivity:
Intent i = new Intent(getActivity(), GameDetailActivity.class);
i.putExtra("game", clickedGame);
startActivity(i);
Quelqu'un sait comment résoudre ce problème?
Nous vous remercions à l'avance
Déposez le code où vous démarrez 'GameDetailActivity'. – earthw0rmjim
Vérifiez cela: http://stackoverflow.com/a/15933890/758104 –
@ earthw0rmjim J'ai ajouté le code de démarrage GameDetailActivity, regardez à la zone éditée –