我观察到的将可序列化数据作为额外意图传递的行为非常奇怪,我只是想澄清是否有一些我没有错过的东西。
所以我想做的事情是在我为开始下一个活动创建的实例中ActivtyA
放入一个LinkedList
实例- .intent
ActivityB
LinkedList<Item> items = (some operation);
Intent intent = new Intent(this, ActivityB.class);
intent.putExtra(AppConstants.KEY_ITEMS, items);
在onCreate
of 中ActivityB
,我尝试LinkedList
按如下方式检索额外内容 -
LinkedList<Item> items = (LinkedList<Item>) getIntent()
.getSerializableExtra(AppConstants.KEY_ITEMS);
在运行此程序时,我在上面的行中反复输入了一个ClassCastException
in ActivityB
。基本上,异常说我收到了一个ArrayList
. 一旦我将上面的代码更改为接收一个ArrayList
,一切正常。
现在我不能只从现有文档中弄清楚这是否是 Android 在传递可序列化列表实现时的预期行为。或者,也许,我正在做的事情根本上是错误的。
谢谢。