Also, ich weiß, ist Frage dupliziert, aber ich habe keine Lösung in diesen Antworten gefunden. Ich habe eine MainActivity und GameDetailActivity. MainActivity hierarchisches Elternelement von GameDetailActivity. Hier ist es Erklärungen in Manifest-Datei:Android: Aktivität onCreate savedInstanceState ist immer 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>
hier AppTheme2 Erklärung:
<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>
hier zurück Logik in 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);
}
und wenn ich drücken home (back "< - ") Button in GameDetailActivity Ich bekomme immer savedInstanceState ist in MainActivity null. Ich verstehe nicht, warum gespeicherte Daten in MainActivity verloren gegangen sind.
EDIT
Hier starten GameDetailActivity Code:
Intent i = new Intent(getActivity(), GameDetailActivity.class);
i.putExtra("game", clickedGame);
startActivity(i);
Jeder weiß, wie dieses Problem beheben?
Vielen Dank im Voraus
Geben Sie den Code ein, mit dem Sie 'GameDetailActivity' starten. – earthw0rmjim
Überprüfen Sie dies: http://Stackoverflow.com/a/15933890/758104 –
@ earthw0rmjim Ich habe Startcode GameDetailActivity, Blick auf den bearbeiteten Bereich –