次のアクティビティに意図余分は非常に奇妙であると私は、シリアライズデータを渡すWRTを観察してるの行動を取得する際にArrayListに改作し、私はちょうど私が上の欠落していないよ何かがあるのかどうかを明確にしたかっます意向余分に入れ。 ActivityB
- LinkedListのは
ActivtyA
に私は次のアクティビティを開始するために作成さ
intent
に
LinkedList
インスタンスを置くことです。
ActivityB
の
onCreate
で
LinkedList<Item> items = (some operation);
Intent intent = new Intent(this, ActivityB.class);
intent.putExtra(AppConstants.KEY_ITEMS, items);
、私は次のようにLinkedList
余分を取得しようとした -
LinkedList<Item> items = (LinkedList<Item>) getIntent()
.getSerializableExtra(AppConstants.KEY_ITEMS);
これを実行するには、私は繰り返し上記の行で、ActivityB
でClassCastException
を得ました。基本的に例外は私がArrayList
を受け取っていると言った。前述のコードを変更してArrayList
を受け取ると、すべて正常に機能しました。
今、私はちょうど、シリアライズリストの実装を渡すときに、これはAndroid上で予想される動作であるかどうか、既存のドキュメントから把握することはできません。あるいは、私がやっていることに根本的に間違っていることがあるかもしれません。
ありがとうございました。
代わりにParcelableを使用してください。 –
しかし、 'LinkedList'ではこの動作が発生する特別な理由がありますが、' intent'の余分なデータとして 'ArrayList'インスタンスを追加したのであれば、すべてうまくいくはずです。そして、私は 'Parcelable'を使う必要はありませんか?興味深い質問については – anirvan
+1。私はこれについて考えているうちに時間を費やし、とても興味をそそられて、自分でそれを理解しようとしました。あなたと私はどちらもよりスマートです(私の答えを見てください)。 –