我想将“ArrayList objArrayList”从一个活动传递到第二个活动,并希望在那里接收。我正在创建一个简单的类,因为有四个arraylist。我创建该类的对象并通过传递要在arraylist中添加的参数来调用该类的方法。之后我在objArrayList中添加了该类对象。 我可以将objArrayList从一个活动传递给第二个活动并在那里接收吗?
谢谢, Vishakha。
答案 0 :(得分:2)
第一个上下文(可以是活动/服务等)
您有几个选择:
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机制。将您的列表添加到意图的附加内容并传递它。