【问题标题】:Passing Arraylist between activities? Using Parcelable [duplicate]在活动之间传递 Arraylist?使用 Parcelable [重复]
【发布时间】:2011-08-03 22:55:18
【问题描述】:

编辑:我已经大大更新了我的问题,现在我将使用 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&lt;SearchList&gt; 为什么?

【问题讨论】:

  • 有人问过类似的问题here。希望对你有帮助!
  • 本教程应该可以帮助你实现parcelable接口:anddev.org/…

标签: java android


【解决方案1】:

你能不能使用所有的 String 值,并从 bundle.putSerializable() 更改为 bundle.putStringArrayList("key", ArrayList&lt;String&gt;_object)

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 这个性能怎么样?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-30
    相关资源
    最近更新 更多