通过Intent将包含对象的对象传递给Activity

时间:2013-08-05 18:23:59

标签: android android-intent parcelable

我有一个Object需要通过onclick方法通过Intent传递给另一个Activity。

我在这里听到这个答案How to send an object from one Android Activity to another using Intents? 哪个工作正常,但我的对象在其中有一个对象数组。

如何使用其对象数组传递此对象?

以下是使用Parcelable

之前的类

列表(要传递的对象)

public class List  {

    private String Name;
    private ArrayList<ListItem> items;

    public List(){
        items = new ArrayList<ListItem>();
    }

    public void addItem(String title, String d, String s, int p){
        ListItem i = new ListItem();
        i.setDecription(d);
        i.setPrice(p);
        i.setSite(s);
        i.setTitle(title);
        items.add(i);
    }

    public String getName() {
        return Name;
    }
    public void setName(String Name) {
        this.Name = Name;
    }
    public int getCount() {
        return items.size();
    }

    public ArrayList<ListItem> getList(){
        return items;
    }
} 

列表项

public class ListItem {

    private String  title;
    private String  decription;
    private String  site;
    private int     price;


    public void setTitle(String title) {
        this.title = title;
    }
    public void setDecription(String d){
        this.decription = d;
    }
    public void setSite(String s){
        this.site = s;
    }
    public void setPrice(int i){
        this.price = i;
    }

    public String getTitle(){
        return title;
    }
    public String getDecription(){
        return decription;
    }
    public String getSite(){
        return site;
    }
    public int getPrice(){
        return price;
    }
}

那么我如何使用List上的Parcelable来发送ArrayList。

感谢您,如果您需要更多信息,请询问!

1 个答案:

答案 0 :(得分:1)

您正在尝试传递通常不会传递的数据。列表是SQLite数据库的理想候选者。尝试使用这种或其他方式在android中保存数据:http://developer.android.com/guide/topics/data/data-storage.html

如果你坚持使用Parcelable: How can I make my custom objects Parcelable?

也不要使用List作为你自己的类型,它是标准的JAVA。