在活动之间传递Arraylist?使用Parcelable

时间:2011-04-12 14:24:40

标签: java android

编辑:我已经大大更新了我的问题,现在以Parcelable作为我的方法。

我正在尝试将ArrayList从一个活动传递到另一个活动。我一直在看书,似乎找不到任何问题的答案。

我有ArrayList<SearchList> implements Parcelable SearchList包含以下代码...

  public class SearchList implements Parcelable {
private String title;
  private String description;
  private String link;
  public SearchList(String name, String phone, String mail) {
          super();
          this.title = name;
          this.description = phone;
          this.link = mail;
  }
  public SearchList(Parcel source){
      /*
       * Reconstruct from the Parcel
       */
      title = source.readString();
      description = source.readString();
      link = source.readString();
}
  public String gettitle() {
          return title;
  }
  public void setTitle(String title) {
          this.title = title;
  }
  public String getDescription() {
          return description;
  }
  public void setDescription(String description) {
          this.description = description;
  }
  public String getLink() {
          return link;
  }
  public void setLink(String link) {
          this.link = link;
  }

public int describeContents() {
    // TODO Auto-generated method stub
    return 0;
}

public void writeToParcel(Parcel dest, int flags) {
      dest.writeString(title);
      dest.writeString(description);
      dest.writeString(link);

}

 public static final Creator<SearchList> CREATOR = new Creator<SearchList>() {
        public SearchList createFromParcel(Parcel source) {
            return new SearchList(source);
        }
        public SearchList[] newArray(int size) {
            return new SearchList[size];
        }
    };
  }

但是,当我尝试做的时候......

 List<SearchList> listOfResults = new ArrayList<SearchList>();
 intent.putParcelableArrayListExtra("results", listOfResults);

我得到not applicable for type (String, List<SearchList>为什么?

3 个答案:

答案 0 :(得分:1)

有人提出了类似的问题here。希望它可以帮到你!

答案 1 :(得分:1)

您可以使用所有字符串值,并从bundle.putSerializable()更改为bundle.putStringArrayList("key", ArrayList<String>_object)

答案 2 :(得分:0)

您可以使用SQLite作为替代方案。将数据从一个Activity传递到另一个Activity。这里是link