下面是我的Parcelable類的例子。正如你所看到的,我想把活動放在Parcel
,但我怎麼能這樣做?我查看Activity
的源代碼,它不是Parcelable
也不是Serializable
。是否可以將活動放入包裹中?
public class MyParcelable implements Parcelable {
private Activity mActivity;
private int mData;
private String mName;
@Override
public void writeToParcel(Parcel out, int flags) {
//out.writeX(mActivity);
out.writeInt(mData);
out.writeString(mName);
}
private MyParcelable(Parcel in) {
//mActivity = in.readX();
mData = in.readInt();
mName = in.readString();
}
public MyParcelable(Activity activity, int data, String name) {
mActivity = activity;
mData = data;
mName = name;
}
@Override
public int describeContents() {
return 0;
}
public static final Parcelable.Creator<MyParcelable> CREATOR
= new Parcelable.Creator<MyParcelable>() {
@Override
public MyParcelable createFromParcel(Parcel in) {
return new MyParcelable(in);
}
@Override
public MyParcelable[] newArray(int size) {
return new MyParcelable[size];
}
};
}
將「活動」放在包裹中需要什麼? –
不,它也沒有多大意義 – Selvin
你最想做的事是發送活動類,你可以發送它的名字作爲一個字符串。活動本身不是「只是一個類」,它是一個在屏幕上顯示內容的更大系統的一部分,它本身甚至不包含重建自己所需的所有內容。 – etan