2016-05-16 32 views
0

我有一個問題。我想保存在android上的兩個活動之間傳遞的變量。存儲意圖之間傳遞的值

例如:

我們有ABC活動,讓我們假設從活動B傳遞一個變量來A。例如,我們在活動B中有一個名爲size的變量,在C中有另一個名爲turn的變量。

B-> A(得到大小)
C-> A(獲得轉,但大小可變的丟失)

...但是我們去的時候C,功能要turn我失去了size變量,早些時候採取了B。我如何儲存它們?我嘗試了靜態,它不起作用。

感謝

+0

靜態應該工作。在您的代碼中可能有一些東西是重置變量 – Shmuel

回答

-1

使用自定義類實現Serializable接口用於存儲數據

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

存儲值

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

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

負載值

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

代替data.turn =東西,你可以像下面一樣使用get/setter方法。

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

關於Android Parcable是首選方法http://www.3pillarglobal.com/insights/parcelable-vs-java-serialization-in-android-app-development – Shmuel

+0

哦,這並沒有回答這個問題 – Shmuel

0

你可以很容易地通過一個Singleton對象來完成這件事。

Here's一個示例實現。