2013-08-19 32 views
0

我有以下類別i意圖通過從一個活動到另一個其中:從一些一類的字段的創建在機器人parcelable

public class Ad extends ListItem implements parcelable{ 
    private String _type; 
    private String _recordID; 
    private String _line1; 
    private String _line2; 
    private String _line3; 
    private String _line4; 
    private String _url; 
    private IOnUiNeedToUpdateListener _listener; 
    private boolean _notActive = false; 
    private String _alertText; 
    private Double _longitude; 
    private Double _latitude; 
} 

我想從一個活動通過這樣的對象的陣列到另一個。不過,我不需要通過所有的領域。

是否可以僅從所需字段創建包裹併發送它?

+0

請顯示你已經嘗試了更好的答案.. – Shivaay

回答

1

這是您的代碼寫入Parcel和您的代碼從Parcel讀取。所以基本上yes。你可以寫任何你想要的。所有成員的內容,有些內容,不成員,但其他值,你用它來恢復對象等的狀態等

2

嘗試設計自己的類這樣的..

public class Form implements Parcelable { 

private String formdata1; 
private String formdata2; 
private String formdata3; 
private String formdata4; 

public Form() { 
} 

public Form(Parcel in) { 
    setFormdata1(in.readString()); 
    setFormdata2(in.readString()); 
    setFormdata3(in.readString()); 
    setFormdata4(in.readString()); 
} 

public String getFormdata1() { 
    return formdata1; 
} 

public void setFormdata1(String formdata1) { 
    this.formdata1 = formdata1; 
} 

public String getFormdata2() { 
    return formdata2; 
} 

public void setFormdata2(String formdata2) { 
    this.formdata2 = formdata2; 
} 

public String getFormdata3() { 
    return formdata3; 
} 

public void setFormdata3(String formdata3) { 
    this.formdata3 = formdata3; 
} 

public String getFormdata4() { 
    return formdata4; 
} 

public void setFormdata4(String formdata4) { 
    this.formdata4 = formdata4; 
} 

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

@Override 
public void writeToParcel(Parcel in, int arg1) { 
    in.writeString(getFormdata1()); 
    in.writeString(getFormdata2()); 
    in.writeString(getFormdata3()); 
    in.writeString(getFormdata4()); 
} 

public static final Parcelable.Creator<Form> CREATOR = new Parcelable.Creator<Form>() { 

    @Override 
    public Form createFromParcel(Parcel in) { 
     return new Form(in); 
    } 

    @Override 
    public Form[] newArray(int size) { 
     return new Form[size]; 
    } 

}; 

}

+0

感謝您的答覆,他們是非常有幫助的。 –