2014-02-18 61 views
2

解釋Parcelable.creator的含義?使用Parcelable接口..?

public static final Parcelable.Creator<MyParcelable> CREATOR 
     = new Parcelable.Creator<MyParcelable>() { 
    public MyParcelable createFromParcel(Parcel in) { 
     return new MyParcelable(in); 
    } 

    public MyParcelable[] newArray(int size) { 
     return new MyParcelable[size]; 
    } 
}; 
+0

總是試圖谷歌首先。 – SMR

回答

2

Parcelable對象允許您連載和反序列化的活動或片段停止/開始,它是更快比Java可序列化。

靜態CREATOR類通過createFromParcel方法從parcel創建對象,createFromParcel方法接受一個parcel並將其傳遞給您的類中的構造函數,該構造函數執行的是咕嚕作業。

newArray方法允許您的對象數組被分組。 Answer

這裏是它的一個很好的例子Link

1

Parcelable.CreatorParcel對象創建您的MyParcelable的實例。例如,typic Parcelable應該是這樣的:

public class MyParcelable implements Parcelable { 
    private int mData; 

    public int describeContents() { 
     return 0; 
    } 

    public void writeToParcel(Parcel out, int flags) { 
     out.writeInt(mData); 
    } 

    public static final Parcelable.Creator<MyParcelable> CREATOR 
      = new Parcelable.Creator<MyParcelable>() { 
     public MyParcelable createFromParcel(Parcel in) { 
      return new MyParcelable(in); 
     } 

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

    private MyParcelable(Parcel in) { 
     mData = in.readInt(); 
    } 
} 

欲瞭解更多信息,請查看官方文檔: