2016-04-27 3 views
0

Ich habe ein Projekt mit A ListView und einigen Buttons und einigen ArrayList und String. Ich fülle die ListView von einem DB Query, das dauert einige Sekunden zu laden, und wenn seine Lasten, Endbenutzer etwas tun und zur nächsten Aktivität über StartActivity(myIntent) Methode gehen. Wenn zur nächsten Aktivität geht, wird es zurück zu dieser Aktivität sein und weil es eine DB Query hat, dauert einige Sekunden und selbst wenn das Netzwerk ein Problem bekommen hat, wird es gezwungen, die Nachricht zu schließen. Wie kann ich die gesamte Instanz dieser Aktivität nur einmal speichern? Wird sie zum zweiten Mal wiederhergestellt? Ich bin neu auf Android, jede Hilfe wird zu schätzen wissen.Aktivitätsinstanz speichern und nicht in zweiter Minute erstellen

Das ist meine onCreate Methode:

@Override 
protected void onCreate(final Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.type_of_dairy); 
    // all methods, views, initials and .... 
} 
+0

Wo machst du die DB-Abfrage? in onResume? – Wanted

+0

Nein, in onCreate habe ich genau diese Methode. –

+0

Sie meinen, ich sollte meinen gesamten Code in OnResume-Methode schreiben? –

Antwort

1

Wenn Ihr Anwendungsfall ist, dass Sie die erste Aktivität aus der zweiten Aktivität mit startActivity Methode beginnen müssen. Sie können die folgenden, um das bestehende erste Aktivität nach vorne tun:

Intent intent = new Intent(this, FirstACtivity.class); 
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); 
//intent. // Your code here 
startActivity(intent); 

Im Grunde dieses Flag „FLAG_ACTIVITY_REORDER_TO_FRONT“ wird die bestehende Aktivität bringen nach oben. Also wird Ihre onCreate() Methode nicht erneut aufgerufen und Ihr Problem wird gelöst. Falls Sie in diesem Fall Code ausführen möchten, können Sie die Methode onNewIntent() der Aktivität verwenden, um die neue Absicht zu behandeln und Ihre Variablen/Felder dort zu initialisieren. Lass es mich wissen, wenn du irgendwelche Zweifel hast.

+0

@T_O, hat es dein Problem gelöst? – Wanted

+0

Thx Mann, es funktioniert. –

Verwandte Themen