Ich habe eine DetailsActivity, die mehrere Miniaturansichten von Bildern auflistet. Ich möchte eine neue Aktivität öffnen, indem ich die URL als Zeichenfolge an einen "FullScreenActivity" übergibt, der es dem Benutzer ermöglicht, die größere Version des Bilds anzuzeigen. Die DetailsActivity enthält ein komplexes Datenobjekt, das ich nicht verlieren möchte, wenn der Benutzer die Vollbildansicht öffnet.Öffnen Sie neue Aktivität, ohne die übergeordnete Aktivität zu verlieren
ich die Zeichenfolge an den neuen „FullScreenActivity“ passieren kann, die Bild-Downloads, und ich kann die Bilder etc kneifen/vergrößern .. aber wenn ich die Taste UP auf die jeweiligen DetailsAcitivity zurückzukehren, Die App stürzt ab, weil das komplexe Datenobjekt verschwunden ist. Wie behalte ich die DetailsActivity um, während der Benutzer ein größeres Bild betrachtet
So nenne ich die FullScreenActivity. Dies wird in einer for-Schleife aufgerufen, die eine neue Bildansicht erstellt und sie zur Aktivität hinzufügt.
image.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(DetailsActivity.this, ViewFullPhotoActivity.class);
intent.putExtra("FullScreenPicture", (String) finalImageMap.get("MainImage"));
startActivity(intent);
}
});
Und in meinem FullScreenActivity, erhalte ich die URL-Zeichenfolge über
String fullScreenImage = (String) getIntent().getCharSequenceExtra("FullScreenPicture");
ich mit der Idee der Verpackung, um das komplexen Datenobjekts geliebäugelt und es zusammen mit der neuen Absicht zu senden, aber sicher Das ist keine bewährte Methode. Es gibt andere Dinge, die für den Benutzer nicht toll wären, wenn ich diesen Pfad gehen würde, insbesondere das erneute Herunterladen aller Miniaturansichten oder das Verlieren von Daten, die in ein Formular eingegeben wurden.
Können Sie bitte das Logcat bereitstellen, wenn Ihre App abstürzt? So können wir die Ursache untersuchen. – ljpv14
Das Crash-Protokoll ist das komplexe Objekt ist null. –