如何在另一个活动中传递类对象的arrayList?

时间:2014-03-14 10:13:01

标签: android

ArrayList <Car> CarList = new ArrayList<Car>();  
Car carItems= new Car(carno, cartype, date, arriveTime, carcost);   
CarList .add(carItems);

现在我想通过Intent传递carList?

3 个答案:

答案 0 :(得分:1)

传递对象:

Bundle bundle = new Bundle();
ArrayList <Car> CarList = new ArrayList<Car>();  
Car carItems= new Car(carno, cartype, date, arriveTime, carcost);   
CarList.add(carItems); 
bundle.putSerializable("carList",carList);
intent.putExtras(bundle);

用于检索:

ArrayList <Car> CarList = getIntent().getSerializableExtra("carList");

确保Car可序列化:

public class Car implements Serializable {

}

答案 1 :(得分:0)

让它变得非常容易,非常容易。

查看此帖子:Arraylist in parcelable object

答案 2 :(得分:0)

看来你实际上必须让Car成为Parcelable。

要将其添加到Intent,请使用putParcelableArrayListExtra(String name, ArrayList<? extends Parcelable> value)

修改

要获取其他活动中的列表,请在onCreateonNewIntent中执行此操作:

Intent i = getIntent();
ArrayList<Car> cars = i.getParcelableArrayListExtra("extraKeyUsedWithPutExtra");