首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ArrayList<custom-object>的Parcelable实现

ArrayList<custom-object>的Parcelable实现
EN

Stack Overflow用户
提问于 2013-02-21 12:18:06
回答 2查看 6.5K关注 0票数 4

我认为这只是一个愚蠢的错误,但ArrayList总是以null结尾。它快把我逼疯了,所以我想我应该寻求帮助。

Object类:

代码语言:javascript
复制
import android.os.Parcel;
import android.os.Parcelable;

public class StoryTag implements Parcelable {

    private String tagTitle;
    private int occurrence;

    public StoryTag() {

    }

    public StoryTag(Parcel in) {
        tagTitle = in.readString();
        occurrence = in.readInt();
    }

    public String getTagTitle() {
        return tagTitle;
    }

    public void setTagTitle(String tagstring) {
        this.tagTitle = tagstring;
    }

    public int getOccurrence() {
        return occurrence;
    }

    public void setOccurrence(int occurrence) {
        this.occurrence = occurrence;
    }

    @Override
    public void writeToParcel(Parcel dest, int flags) {
        dest.writeString(tagTitle);
        dest.writeInt(occurrence);
    }

    public int describeContents() {
        return 0;
    }

    public static final Parcelable.Creator<StoryTag> CREATOR = new Parcelable.Creator<StoryTag>() {

        public StoryTag createFromParcel(Parcel in) {
            return new StoryTag(in);
        }

        public StoryTag[] newArray(int size) {
            return new StoryTag[size];
        }
    };
}

MainActivity

代码语言:javascript
复制
Intent tagIntent=new Intent(this,DisplayTagList.class);
tagIntent.putExtra("taglist", taglist);
startActivity(tagIntent);
return true;

接收活动:

代码语言:javascript
复制
Bundle storyTagBundle = getIntent().getExtras();
ArrayList<StoryTag> listoftags = storyTagBundle.getParcelable("taglist");

非常感谢你能提供的任何帮助。我觉得这只是个小错误。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-21 12:28:37

putExtra()getSerializable()方法将存储和检索您的自定义对象的ArrayList<?>,不需要实现任何接口。(不过,您的自定义对象类应该实现Serializable接口)。

但是在您的例子中,您可以简单地使用putParcelableArrayListExtra(String name, ArrayList value)getParcelableArrayListExtra(String name)

票数 4
EN

Stack Overflow用户

发布于 2013-02-21 15:23:27

您可以从这个完整的Example中了解实现ArrayList with Parcelable的清晰思路。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14994475

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档