Java Android getSerializable()

Java Android getSerializable(),java,android,serialization,Java,Android,Serialization,我使用bundle将项目的ArrayList从一个活动传递到另一个活动。我没有收到任何错误,但这些项目不会显示在我的第二个活动中。我是否正确地实现了getSerializable()和putSerializable() 这是我第一次活动的一个片段 声明的ListArray ArrayList<Item> items = new ArrayList<Item>(); 第二项活动 Bundle loadInfo = getIntent().getExtras();

我使用bundle将项目的ArrayList从一个活动传递到另一个活动。我没有收到任何错误,但这些项目不会显示在我的第二个活动中。我是否正确地实现了getSerializable()和putSerializable()

这是我第一次活动的一个片段

声明的ListArray

ArrayList<Item> items = new ArrayList<Item>();
第二项活动

Bundle loadInfo = getIntent().getExtras();
    items = (ArrayList<Item>) loadInfo.getSerializable("items");
Bundle loadInfo=getIntent().getExtras();
items=(ArrayList)loadInfo.getSerializable(“items”);

我在这两个活动中都实现了Serializable。我已确保ArrayList确实在第一个活动中填充

什么是
。。?它是可序列化的吗。。。如果未使
可序列化

项目类:

public class Item implements Serializable
在第一项活动中:

Intent intent = new Intent(this, Activity2.class);
        intent.putExtra("items", items);
        startActivity(intent);
在第二个活动(活动2)中:

arraylistitems=(ArrayList)getIntent().getExtras()
.getSerializable(“项目”);

只是一个猜测:您是否尝试序列化Item(Item[])的数组而不是ArrayList。如果ArrayList是可序列化的,我就不是舒尔

loadInfo.putSerializable("items", items.toArray());

Bundle loadInfo = getIntent().getExtras();
items = (Item[]) loadInfo.getSerializable("items");

如果您添加一些静态数据,您是否确保您的第二个视图确实可以可视化项目?是的,可以查看它们。当我获得第二个活动中的项目所需的信息时,没有问题。您不必为此使您的活动可序列化…您的“项目”可序列化吗?此外,在第二项活动中,您是否检查了项目的大小是否正确?还可以尝试打印第一个项目的值。项目是一个自定义接口,您可以使接口可序列化吗?@sandy首先通过注释澄清疑问,然后发布答案,这不是更好吗?通过让项目接口扩展可序列化,问题得到了解决
ArrayList<Item> items = (ArrayList<Item>) getIntent().getExtras()
                .getSerializable("items");
loadInfo.putSerializable("items", items.toArray());

Bundle loadInfo = getIntent().getExtras();
items = (Item[]) loadInfo.getSerializable("items");