8

アプリケーションの複数のアクティビティ間でオブジェクトのArrayListを渡そうとしています。setData()メソッドを使用してインテントを使用してこれを行うことは可能ですか?

4

6 に答える 6

12

オブジェクトのArrayListを送信する場合は、クラスでParcelableまたはSerializableインターフェイスを実装する必要があります。

アクティビティ間でカスタムオブジェクトを送信するためのこれらの優れたチュートリアルを参照してください

http://androidideasblog.blogspot.in/2010/02/passing-list-of-objects-between.html

http://www.anddev.org/novice-tutorials-f8/simple-tutorial-passing-arraylist-across-activities-t9996.html

于 2012-12-05T11:20:23.130 に答える
6

以下のコードを使用して、意図的にarraylistを渡します。

Intent mIntent = new Intent(FirstActivity.this, SecondActivity.class);
mIntent.putParcelableArrayListExtra("Data", mArraylist);
startActivity(mIntent);

Intentからarraylistを取得するには、以下のコードを使用します。

Bundle bdl = getIntent().getExtras();
mArraylist1 = bdl.getParcelableArrayList("Data");
于 2012-12-05T11:26:31.983 に答える
3

まず、Objectクラスでパーセル可能なクラスを拡張する必要があります。次に、を介してインテントを通過させることができますintent.putParcelableArrayListExtra("PASSING_DATA", data);

ここで、データはカスタムオブジェクトの配列リストです。

より適切な理解については、 ParcelableおよびParcelableチュートリアルを参照してください。

于 2012-12-05T11:20:33.090 に答える
0

はい、可能です... オブジェクトクラスによってSerializableクラスを実装する必要があります。

于 2012-12-05T11:17:41.150 に答える
0

オブジェクトがParcelableを実装している場合は、次のようにputParcelableArrayListメソッドを使用できます。

Bundle data = new Bundle();
data.putParcelableArrayList("myArrayList", myList);
Intent i = new Intent();
i.putExtra("data", data);

お役に立てば幸いです。

于 2012-12-05T11:19:41.480 に答える
0

定義している場所で配列リストを静的にし、その位置を次のアクティビティにのみ渡すことができます

于 2017-10-06T20:10:34.527 に答える