2017-03-22 6 views
-2

Es gibt eine Android-Bibliothek. Workflow wie folgt aus:Android-Bibliothek zurück Schaltfläche

A1-> A2-A3-> Bibliothek Aktivitäts-> A3

I-Bibliothek Aktivität zu verstecken brauchen, wenn der Benutzer physischen back button klicken. Auch die Bibliothek Aktivität gespeichert einige Daten, so dass ich die Bibliothek Aktivität kann nicht destroy oder finish().

A1-> A2-> A3-> lib ---> zurück zur vorherigen A3

Wenn Benutzer drücken back button, ich möchte die library Aktivität überspringen und direkt zum A2 von A3 aber nicht Löschen Sie die Bibliotheksaktivität, da die Bibliotheksaktivität Daten gespeichert hat, die ich erneut verwenden muss.

+0

posten Sie bitte Ihren Code. –

+0

Verwenden Sie den Stapel –

+0

Welche Art von Daten enthält Ihre Bibliotheksaktivität? Können Sie eine andere Methode zum Speichern Ihrer Daten verwenden, anstatt eine ganze Aktivität im Speicher abzulegen? Außerdem besteht eine hohe Wahrscheinlichkeit, dass Android-Betriebssysteme Ihre Bibliotheksaktivität beenden, wenn sie sich im Hintergrund befinden. –

Antwort

0

Machen Sie einfach Bibliothek Aktivität android:noHistory="true" in Manifest. Und speichern Sie Daten, die Sie woanders benötigen.

2

Sie sollten onBackPressed Methode in Ihrer Aktivität wie dies außer Kraft setzen:

@Override 
public void onBackPressed() { 
    super.onBackPressed(); 
//change your View from A3 to A2 
} 

Sie Daten SharedPreferences mit speichern.

+0

Weil es die Bibliothek ist, kann ich den Code in A3 nicht hinzufügen. – haha1994713

+0

Danke. ist es möglich, Bild mit SharedPreferences – haha1994713

+0

zu speichern Ich werde nicht empfehlen, das Bild in Share Einstellungen zu speichern. Und Sie sollten dieses Bild auf SD-Karte speichern. Speichern Sie dann den Bildpfad (von der SD-Karte) in den Freigabeeinstellungen. –

2

Wenn die derzeit sichtbare Aktivität aus der Bibliothek stammt und Sie den Code dafür nicht bearbeiten können, ist es nicht möglich, den Backpress der Aktivität zu verarbeiten. Wenn Sie diese Bibliotheksaktivität jedoch mit einem Intent aus Ihrer Aktivität aufrufen, können Sie Folgendes tun:
Schreiben Sie eine Klasse extends LibraryActivity, und rufen Sie diese Aktivität stattdessen auf. Dort können Sie die onBackPressed() Methode überschreiben.

Verwandte Themen