2012-01-13 10 views
0

これはアンドロイドプラットフォーム上にあり、私はタイプ(FitItem)のオブジェクトのリストを持っています。私は自分のアクティビティAから別のアクティビティBにリストを渡したい、そしてアクティビティBでオブジェクトのリストをもう一度取得します。どのようにして、バンドルを介してオブジェクトA(リスト)からアクティビティBにオブジェクト(任意のオブジェクト)のリストを渡すことができますか?

答えて

2
Intent yourIntent = new Intent(activityA.this, activityB.class); 
Bundle yourBundle = new Bundle(); 
yourBundle.putString("name", value); 
yourIntent.putExtras(yourBundle); 
startActivity(yourIntent); 

そして、あなたは次のActivity(あなたonCreate()内)の値を取得する:

Bundle yourBundle = getIntent().getExtras(); 
String s = yourBundle.getString("name"); 

この例ではStringを渡しているが、あなたは他のオブジェクトのためにそれを使用する方法を把握することができるはずです。

0

オブジェクトがシリアライズ可能な場合は、そのオブジェクトをインテントに追加するだけです。

// in Activity A, when starting Activity B 
Intent i = new Intent(this, ActivityB.class); 
i.putExra("fitItemList", fitItemList); 
startActivity(i); 

// in Activity B (onCreate) 
ArrayList<FitItem> fitItemList = savedInstanceState.getSerializableExtra("fitItemList"); 

編集:ただ、bschultzよう はすでにカスタムクラスのために:)

+0

私はこの、感謝をしようとします – shontauro

1

投稿: あなたのFitItemクラスがParcelableを実装して持っている必要があります私はこのような何かを考えます。

[アクティビティAに、Intentオブジェクトから、あなたはのリストを渡したい場合はFitItem

のリストを取得するためにgetParcelableArrayListExtraを使用して、活動Bにして、アクティビティBにFitItemのリストを渡すことputParcelableArrayListExtraを使用文字列、整数、フロート...、あなたのオブジェクトをシリアル化しなければならないbschultzポスト

1

を参照してください。

"Seriawhat?"
最初に最初のもの:What is object serialization?

「どうしましたか?」
Parcelable(より多くのコードが、より速い)またはシリアライズ可能(少ないコードだが、遅い)を使用することができます。
Parcelable vs Serializable

「時間を節約してください、私にコードを見せてください!
パーセル可能を使用する場合、thisおよび/またはthisを参照してください。

Serializableを使用する場合は、thisおよび/またはthisを参照してください。

希望に役立ちます!

関連する問題