2016-05-16 5 views
0

質問があります。私はアンドロイドで2つのアクティビティ間で渡される変数を保存したい。例えばインテント間で値を渡す

我々はABC活動を持っていると私たちはAに活動Bから変数を渡すと仮定しましょう。たとえば、アクティビティBの変数sizeと、のturnという別の変数があります。

B-> A(サイズ取得)
C-> A(ターンを得るが、可変サイズは、失われた)

...しかし、我々は、Cに行くに機能したときに、私はsize変数を失っturnを取るためにどの以前はBで撮影されました。どうすればそれらを保存できますか?私は静的にしようとしても動作しません。カスタムクラスを使用して

おかげ

+0

静的に動作するはずです。あなたのコードに変数をリセットしているものがあります – Shmuel

答えて

-1

は、データを保管するためにSerializableを実装

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

ストアではなくdata.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"); 

=何かを値、以下のように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

oh、これは質問に答えません – Shmuel

0

これは簡単にシングルトンオブジェクトを介して行うことができます。

Here's実装例。

関連する問題