如何使我的自定义模型可包裹,其构造函数中的自定义对象



这是我的类,我正在努力使它成为Parcelable,正如你在代码中看到的那样,我在代码中的一些地方卡住了:

public class CommentModel implements Parcelable{
    String      COMMENT_CONTENT;
    String      COMMENT_ID;
    UserModel   COMMENT_ACTOR;
    public CommentModel(String comment_content, String comment_id, UserModel comment_user){
        this.COMMENT_CONTENT    = comment_content;
        this.COMMENT_ID         = comment_id;
        this.COMMENT_ACTOR      = comment_user;
    }
    /*== constructor to rebuild object from the Parcel ==*/
    public CommentModel(Parcel source) {
        this.COMMENT_CONTENT                = source.readString();
        this.COMMENT_ID                     = source.readString();
        // This is where I'm stuck!
        this.COMMENT_ACTOR                  = source............;
    }
    public String getContent(){
        return this.COMMENT_CONTENT;
    }
    public void setContent(String content){
        this.COMMENT_CONTENT    = content;
    }
    public String getId(){
        return this.COMMENT_ID;
    }
    public void setId(String id){
        this.COMMENT_ID = id;
    }
    public UserModel getActor(){
        return this.COMMENT_ACTOR;
    }
    public void setActor(UserModel actor){
        this.COMMENT_ACTOR  = actor;
    }
    @Override
    public int describeContents() {
        return 0;
    }
    @Override
    public void writeToParcel(Parcel dest, int flags) {
        dest.writeString(COMMENT_CONTENT);
        dest.writeString(COMMENT_ID);
        // This is where I'm stuck too! :(
        dest.write.....
    }
    public static final Parcelable.Creator<CommentModel> CREATOR = new Creator<CommentModel>() {
        @Override
        public CommentModel[] newArray(int size) {
            return new CommentModel[size];
        }
        @Override
        public CommentModel createFromParcel(Parcel source) {
            return new CommentModel(source);
        }
    };

}

应该怎么做?完全有可能吗?如果没有,如何处理这个问题?

附言:我的UserModel()当然也是Parcelable。

如果UserModelParcelable,则可以使用writeParcelable写入对象,使用readParcelable读回对象。例如

dest.writeParcelable(COMMENT_ACTOR, flages);

写入,以及

COMMENT_ACTOR = source.readParcelable(UserModel.class.getClassLoader());

读回来。

最新更新