Android 页面直接传对象数组

在Android开发中,我们经常需要在不同的页面之间传递数据。通常情况下,我们可以通过Intent传递基本数据类型或者Parcelable对象。但是有时候,我们需要传递一个对象数组。本文将介绍如何在Android页面之间直接传递对象数组,并附上代码示例。

传递对象数组的方法

在Android中,我们可以通过Intent传递数据。要传递一个对象数组,我们可以将对象数组存储在Intent中的Bundle中,然后将Bundle传递给目标页面。在目标页面中,我们可以获取Bundle,并从中取出对象数组。

代码示例

发送页面

// 创建一个包含对象数组的Bundle
Bundle bundle = new Bundle();
MyObject[] objects = new MyObject[]{new MyObject("object1"), new MyObject("object2")};
bundle.putParcelableArray("objects", objects);

// 创建一个Intent并传递Bundle
Intent intent = new Intent(this, TargetActivity.class);
intent.putExtras(bundle);
startActivity(intent);

接收页面

// 获取传递过来的Bundle
Bundle bundle = getIntent().getExtras();

// 从Bundle中取出对象数组
MyObject[] objects = (MyObject[]) bundle.getParcelableArray("objects");

序列图

下面是传递对象数组的序列图示例:

sequenceDiagram
    participant 发送页面
    participant 接收页面

    发送页面 ->> 接收页面: 创建包含对象数组的Bundle
    接收页面 ->> 发送页面: 获取传递过来的Bundle
    发送页面 ->> 接收页面: 传递Intent和Bundle
    接收页面 ->> 接收页面: 从Bundle中取出对象数组

状态图

下面是传递对象数组的状态图示例:

stateDiagram
    [*] --> 发送页面
    发送页面 --> 接收页面: 传递对象数组
    接收页面 --> [*]: 接收对象数组

结论

通过上面的代码示例,我们可以看到,在Android页面之间直接传递对象数组并不复杂。只需要将对象数组存储在Bundle中,然后通过Intent传递给目标页面即可。在目标页面中,我们可以从Bundle中取出对象数组并使用。希望本文对你有所帮助,祝你在Android开发中顺利传递对象数组!