我想創建一個Parcelable類。該類擴展的TableRow:幫助創建一個Parcelable類
import android.content.Context;
import android.os.Parcel;
import android.os.Parcelable;
import android.widget.TableRow;
public class AcmTableRow extends TableRow implements Parcelable{
private int index;
public boolean isSection;
private String volumeLink;
private String rowId;
private String cfr;
private static Context context;
public AcmTableRow(Context context) {
super(context);
}
public AcmTableRow(Context context, Parcel in) {
super(context);
AcmTableRow.context = context;
readFromParcel(in);
}
private void readFromParcel(Parcel in) {
//strValue = in.readString();
//intValue = in.readInt();
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
//dest.writeString(strValue);
//dest.writeInt(intValue);
}
public void setIndex(int index) {
this.index = index;
}
public int getIndex() {
return index;
}
public void setRowId(String rowId) {
this.rowId = rowId;
}
public String getRowId() {
return rowId;
}
public void setCfr(String cfr) {
this.cfr = cfr;
}
public String getCfr() {
return cfr;
}
public void setVolumeLink(String volumeLink) {
this.volumeLink = volumeLink;
}
public String getVolumeLink() {
return volumeLink;
}
public static final Parcelable.Creator<AcmTableRow> CREATOR = new Parcelable.Creator<AcmTableRow>() {
public AcmTableRow createFromParcel(Parcel in) {
return new AcmTableRow(context, in);
}
public AcmTableRow[] newArray(int size) {
return new AcmTableRow[size];
}
};
}
我很困惑,我需要把:
readFromParcel(Parcel in)
而且
writeToParcel(Parcel dest, int flags)
任何解釋或幫助是極大的讚賞。
謝謝
菲爾
爲什麼你需要包裹一個視圖?我強烈地感覺到這些觀點不應該通過「意圖」傳遞。也許你只需要將你的邏輯與視圖('TableRow')分開而不是擴展它? – ernazm
我的TableRow視圖正在通過AsyncTask在TableRow Factory中創建。該任務非常耗時,牽扯數據並構建視圖,因此需要在UI線程之外完成。 – PhillyNJ