如何将ArrayList
问题描述:
我想将“ArrayList objArrayList”从一个活动传递给第二个活动,并且希望在那里接收。我正在创建一个简单的类,其中有四个数组列表。我创建该类的对象,并通过传递参数添加到arraylist中调用该类的方法。之后,我在objArrayList中添加该类对象。 我可以将objArrayList从一个活动传递给第二个活动并在那里接收它?如何将ArrayList <object>从一项活动发送到第二项活动?
谢谢, 维沙卡。
答
第一情境(可活动/服务等)
您有几种选择:
Intent mIntent = new Intent(this, Example.class);
Bundle extras = mIntent.getExtras();
extras.putString(key, value);
2)创建新套装
Intent mIntent = new Intent(this, Example.class);
Bundle mBundle = new Bundle();
mBundle.extras.putString(key, value);
mIntent.putExtras(mBundle);
3)使用的意图
的 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);
}
注:捆绑有 “得” 与“放“所有原始类型的方法,Parcelables和Serializables。我只是将Strings用于示范目的。
您的Arraylist类必须是Parcelable或Serializable。所以你应该继承它来添加这些功能,因为我认为他们错过了最初的实现。
然后看看他们会帮助你的其他问题。 Serialization issue with SortedSet, Arrays, an Serializable
答
使用标准的意图机制。把你的列表放到意图的附加区域并通过它。
对于选项2,我看不到任何可以应用于mBundle的“额外”。 – hornetbzz 2012-08-31 14:37:39