在用多线程的时候,会需要在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了。