-1

onclick メソッドを使用して、インテントを介して別のアクティビティに渡す必要があるオブジェクトがあります。

ここでこの回答に従っていました。インテントを使用して、ある Android アクティビティから別の Android アクティビティにオブジェクトを送信する方法は? これは正常に機能しますが、私のオブジェクトにはオブジェクトの配列があります。

オブジェクトの配列でこのオブジェクトを渡すにはどうすればよいですか?

以下は、Parcelable を使用する前のクラスです。

List (渡されるオブジェクト)

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;
    }
} 

ListItem

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 も送信するにはどうすればよいでしょうか。

ありがとうございます。さらに情報が必要な場合は、お問い合わせください。

4

1 に答える 1

1

通常は渡されるべきではないデータを渡そうとしています。リストは、SQLite データベースの理想的な候補です。Androidでデータを永続化するには、それまたは別の方法を試してください: http://developer.android.com/guide/topics/data/data-storage.html

Parcelable をどうしても使用したい場合: カスタム オブジェクトを Parcelable にするにはどうすればよいですか?

また、独自の型として List を使用しないでください。これは標準の Java です。

于 2013-08-05T18:42:12.797 に答える