2016-05-16 1 views
0

Ich habe eine Frage. Ich möchte Variablen speichern, die zwischen zwei Aktivitäten auf Android übergeben werden.Speichern von Werten zwischen bestanden

Zum Beispiel:

Wir haben AB und C Aktivitäten und lassen Sie uns B-A eine Variable aus Aktivität passieren nehmen zu. Zum Beispiel haben wir eine Variable mit dem Namen size in Aktivität B und eine andere Variable mit dem Namen turn in C.

B-> A (erhalten Größe)
C-> A (erhalten wiederum aber variabler Größe verloren)

... aber wenn wir zu C gehen, funktionieren turn nehmen verloren i size Variable, die früher wurde auf B genommen. Wie kann ich sie speichern? Ich habe versucht, statisch und es funktioniert nicht.

Dank

+0

statische sollte funktionieren. Es gibt wahrscheinlich etwas in Ihrem Code, der die Variable – Shmuel

Antwort

-1

mit benutzerdefinierten Klasse

public class SomeData implement Serializable { 
    public int size; 
    public int turn; 
} 

Werte speichern

SomeData data = new SomeData(); 
data.turn = 2; 
data.size = 4; 

Intent i = new Intent(this, SomethingClass.class); 
i.putExtra("Data", data); 
startActivity(i); 

Lastwert

SomeData data = (SomeData) getIntent.getSerializable("Data"); 

statt data.turn = etwas Serializable für Speichern von Daten implementieren, Sie können get/setter-Methoden wie unten verwenden.

public class SomeData implement Serializable { 
    private int size; 
    private int turn; 

    public int getSize() { 
     return size; 
    } 

    public int getTurn() { 
     return turn; 
    } 

    public void setSize(int size) { 
     this.size = size; 
    } 

    public void setTurn(int turn) { 
     this.turn = turn; 
    } 
} 
+0

zurücksetzt. Auf Android Parcable ist die bevorzugte Methode http://www.3pillarglobal.com/insights/parcelable-vs-java-serialization-in-android-app-development – Shmuel

+0

oh, und das beantwortet die Frage nicht – Shmuel

0

Sie können dies leicht über ein Singleton-Objekt erreichen.

Here's eine Beispielimplementierung.