【发布时间】:2014-06-17 17:54:22
【问题描述】:
我正在尝试将一组对象发送到一个新的意图,但问题是我不知道如何一次发送整个数组。我设法让它工作的方法是在 for 循环中逐个对象添加对象,在第二个活动中我必须一个一个地获取它们,如下所示:
主要活动:
Intent newIntent = new Intent(mainA.this, secondA.class);
for(int i=0;i<numberOfObjects;i++)
newIntent.putExtra("object"+i,myObjects[i]);
newIntent.putExtra("length", x);
startActivity(newIntent);
第二个活动:
Serializable n = getIntent().getSerializableExtra("length");
int x = Integer.parseInt(n.toString());
myObjects = new objClass[x];
for(int i=0;i<x;i++)
myObjects[i] = (objClass) getIntent().getSerializableExtra("object"+i);
即使这种方法有效,并且给我正确的结果,难道没有更好/更快/更清洁的解决方案吗?(我搜索了很多,但没有找到更好的方法,也许我不知道是什么正是要寻找)。
【问题讨论】:
-
不要在android中使用序列化使用parceable。序列化很慢
-
这里接受的答案似乎真的很好stackoverflow.com/questions/7181526/…
-
@Illegal Argument 以前从未听说过 parceable,感谢您提供的信息(和链接),我想我需要做一些研究!
标签: android arrays android-intent