在Bundle中传递自定义的Arraylist<Object>

来源:互联网 发布:mysql从excel导入数据 编辑:程序博客网 时间:2024/05/22 14:11


原文点击这里

在用多线程的时候,会需要在Message中传递自己定义的Arraylist

但是呢,Messge的数据传递必须要用Bundle

所以需要将自定义的ArrayList<Object>放入Bundle

解决方法是用Bundle.putParcelableArrayList(list)

当然不能直接把list放入bundle中,必须经过加工

方法如下:

Message msg = new Message();

Bundle bundle = new Bundle();

ArrayList list = new ArrayList(); //这个list用于在budnle中传递 需要传递的ArrayList<Object>

list.add(ArrayList<Object>)

bundle.putParcelableArrayList("list",list)

msg.setDate(bundle)
Handler.sendMessage(msg)


取的时候:
ArrayList list = bundle.getParcelableArrayList("list");
list2= (List<Object>) list.get(0);//强转成你自己定义的list,这样list2就是你传过来的那个list了。

0 0
原创粉丝点击