如何将ArrayList <object>从一个活动发送到第二个活动?</object>

时间:2011-03-16 07:35:01

标签: android android-activity

我想将“ArrayList objArrayList”从一个活动传递到第二个活动,并希望在那里接收。我正在创建一个简单的类,因为有四个arraylist。我创建该类的对象并通过传递要在arraylist中添加的参数来调用该类的方法。之后我在objArrayList中添加了该类对象。   我可以将objArrayList从一个活动传递给第二个活动并在那里接收吗?

谢谢, Vishakha。

2 个答案:

答案 0 :(得分:2)

第一个上下文(可以是活动/服务等)

您有几个选择:

1)使用Bundle中的Intent

Intent mIntent = new Intent(this, Example.class);
Bundle extras = mIntent.getExtras();
extras.putString(key, value);  

2)创建一个新的Bundle

Intent mIntent = new Intent(this, Example.class);
Bundle mBundle = new Bundle();
mBundle.extras.putString(key, value);
mIntent.putExtras(mBundle);

3)使用Intent的putExtra()快捷方式

Intent mIntent = new Intent(this, Example.class);
mIntent.putExtra(key, value);

新上下文(可以是活动/服务等)

Intent myIntent = getIntent(); // this getter is just for example purpose, can differ
if (myIntent !=null && myIntent.getExtras()!=null)
     String value = myIntent.getExtras().getString(key);
}

注意: Bundles对所有基本类型,Parcelables和Serializables都有“get”和“put”方法。我只是将字符串用于演示目的。

您的Arraylist类必须是Parcelable或Serializable。因此,您应该将其子类化以添加这些功能,因为我认为它们会错过原始实现。

然后看看他们会帮助你的其他问题。 Serialization issue with SortedSet, Arrays, an Serializable

答案 1 :(得分:0)

使用标准的Intent机制。将您的列表添加到意图的附加内容并传递它。