Parcelable真的很有用吗?

时间:2015-01-02 15:58:13

标签: java android parcelable

我试图将一个parcel从mainActivity发送到一个片段,我发现了一个奇怪的效果。

当你实现parcelable时,android需要实现" writeToParcel"和" describeContents"。 奇怪的是,如果你在里面写东西" writeToParcel"或者没有,这没关系。 Android从不称呼它。

为什么需要这些功能?

这是一个有效的源代码:

public class Movie implements Parcelable {
    private String title;
    private Float score;

    public Movie(String title, float score) {
        this.title = title;
        this.score = score;
    }

...... Getter和Setter ......

    //Parcelable Methods

    @Override
    public int describeContents() {
        return 0;
    }

    @Override
    public void writeToParcel(Parcel dest, int flags) {
        // Don't need to write anything in this area
        /*
        dest.writeString(title);
        dest.writeFloat(score);
        */
    }

    public static final Parcelable.Creator<Movie> CREATOR = new Parcelable.Creator<Movie>() {
//--------------> You can return null, it's never called and work perfectly!
        public Movie createFromParcel(Parcel in) {
            return null;//new Movie(in);
        }

        public Movie[] newArray(int size) {
            return null;//new Movie[size];
        }
    };
}

任何想法?

此致

0 个答案:

没有答案