アプリケーションの複数のアクティビティ間でオブジェクトのArrayListを渡そうとしています。setData()メソッドを使用してインテントを使用してこれを行うことは可能ですか?
6 に答える
オブジェクトのArrayListを送信する場合は、クラスでParcelableまたはSerializableインターフェイスを実装する必要があります。
アクティビティ間でカスタムオブジェクトを送信するためのこれらの優れたチュートリアルを参照してください
http://androidideasblog.blogspot.in/2010/02/passing-list-of-objects-between.html
以下のコードを使用して、意図的に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");
まず、Objectクラスでパーセル可能なクラスを拡張する必要があります。次に、を介してインテントを通過させることができますintent.putParcelableArrayListExtra("PASSING_DATA", data);
ここで、データはカスタムオブジェクトの配列リストです。
より適切な理解については、 ParcelableおよびParcelableチュートリアルを参照してください。
はい、可能です... オブジェクトクラスによってSerializableクラスを実装する必要があります。
オブジェクトがParcelableを実装している場合は、次のようにputParcelableArrayListメソッドを使用できます。
Bundle data = new Bundle();
data.putParcelableArrayList("myArrayList", myList);
Intent i = new Intent();
i.putExtra("data", data);
お役に立てば幸いです。
定義している場所で配列リストを静的にし、その位置を次のアクティビティにのみ渡すことができます