
Android中如何在两界面间传递下面的集合?
List<Map<String,Object>>listData=newArrayList<Map<String,Object>>();传递后如何接收?...
List<Map<String, Object>> listData = new ArrayList<Map<String, Object>>();
传递后如何接收? 展开
传递后如何接收? 展开
4个回答
展开全部
intent啊 intent是android的运输大队长
Intent newIntent = new Intent();
newIntent.setClass(this, another.class);
List<Map<String, Object>> listData = new ArrayList<Map<String, Object>>();
Bundle bundle = new Bundle();
bundle.putSerializable(”data“, listData );
newIntent.putExtras(bundle);
startActivityForResult(newIntent, 0);
在another类中的oncreate()方法取
List<Map<String, Object>> listData = new ArrayList<Map<String, Object>>();
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = getIntent();
Bundle bundle = intent.getExtras();
List<Map<String, Object>> listData= (List) bundle.getSerializable(”data“);
}
大概是这个样子,祝你顺利
Intent newIntent = new Intent();
newIntent.setClass(this, another.class);
List<Map<String, Object>> listData = new ArrayList<Map<String, Object>>();
Bundle bundle = new Bundle();
bundle.putSerializable(”data“, listData );
newIntent.putExtras(bundle);
startActivityForResult(newIntent, 0);
在another类中的oncreate()方法取
List<Map<String, Object>> listData = new ArrayList<Map<String, Object>>();
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = getIntent();
Bundle bundle = intent.getExtras();
List<Map<String, Object>> listData= (List) bundle.getSerializable(”data“);
}
大概是这个样子,祝你顺利
追问
能够传递,但根据Key取Map里面的值时报错了!
java.lang.ClassCastException: java.util.ArrayList
请问是怎么回事?
追答
你传的是一个list,而list中存放的是map,现在的代码 中list是空的。当你把list中添加map时,应该循环list中的值,通过循环的得到值再去取map中的值。
展开全部
建议在处理Activity中开线程处理
然后使用使用Handler来传递给下一个线程,
在子线程里发送一个Message 给Handler
用message.obj来传递listData
然后使用使用Handler来传递给下一个线程,
在子线程里发送一个Message 给Handler
用message.obj来传递listData
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不知道啊 为了钥匙 我来了···
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Object 你序列化了吗 对象必须序列化才可以传递
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询