0

我面临通过捆绑发送数据的问题。

Intent toAudio = new Intent(TourDescription.this, Audio.class);
toAudio.putParcelableArrayListExtra("poi", arraypoi);
startActivity(toAudio);

这里发送arraypoi的是一个 ArrayList。此 ArrayList 包含一组值。

在接收班,我有这样的

listOfPOI = getIntent().getParcelableArrayListExtra("poi");
Collections.sort(listOfPOI);

wherelistOfPOI也是一个数组列表。

面临的问题是,我无法在listOfPOI(作为null)中接收 3 个特定变量的值,其余所有值都正确。

在发送捆绑包时,我的意思是arraypoi我也能够正确发送所有值,但问题在于接收它时。

注意:我的课程仅实现parcelable

对此有什么答案吗?

4

1 回答 1

0

在我看来,有两种解决方法。

第一的:

您需要将其YourOwnArrayList作为 and 的子ArrayList<YourObject>implements Parcelable教程在这里

第二:

for()使用循环传递您的对象。像这样。

Intent toAudio = new Intent(TourDescription.this, Audio.class);
toAudio.putExtra("SIZE", arraypoi.size());
for(int i=0; i<arraypoi.size(); i++)
    toAudio.putExtra("POI"+i, arraypoi.get(i));
startActivity(toAudio);

在上其他班级时

Bundle data = getIntent().getExtras();
int size=data.getInt("SIZE");
for(int i=0; i<size; i++)
    listOfPOI.add((YOUR_OBJECT) data.getParcelable("POI"+i));

YOUR_OBJECT是你的类名Object

于 2011-08-19T12:09:40.140 回答