I have make a class which has a custom class object/variable and i want to make this class parcelable for passing it in to the intend so that i receive the reponse in next activity
MORE DETAILED
I Have class first ie
public class Data implements Parcelable{
@SerializedName("barlist")
Bar bar_list[];
public Bar[] getBarLst() {
return bar_list;
}
public void setBarLst(Bar lst[]) {
this.bar_list = lst;
}
@Override
public int describeContents() {
// TODO Auto-generated method stub
return 0;
}
@Override
public void writeToParcel(Parcel parcel, int flags) {
parcel.writeParcelableArray(bar_list, Parcelable.PARCELABLE_WRITE_RETURN_VALUE);
}
public static final Parcelable.Creator<Data> CREATOR = new Creator<Data>() {
public Data createFromParcel(Parcel source) {
Data data = new Data();
data.bar_list = (Bar[]) source.readParcelableArray(this.getClass().getClassLoader());
return data;
}
@Override
public Data[] newArray(int size) {
// TODO Auto-generated method stub
return new Data[size];
}
};
}
In the above class i have a custom type object/variable ie of type Bar
and my next class is ::
public class Bar implements Parcelable{
@SerializedName("name")
String Name;
@SerializedName("sex")
String sex;
@SerializedName("type")
String type;
@SerializedName("userid")
String userId;
@SerializedName("contactno")
String ContactNo;
@SerializedName("zipcode")
String zipCode;
@SerializedName("address")
String Address;
@SerializedName("email")
String Email;
public String getName() {
return Name;
}
public void setName(String name) {
Name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getContactNo() {
return ContactNo;
}
public void setContactNo(String contactNo) {
ContactNo = contactNo;
}
public String getZipCode() {
return zipCode;
}
public void setZipCode(String zipCode) {
this.zipCode = zipCode;
}
public String getAddress() {
return Address;
}
public void setAddress(String address) {
Address = address;
}
public String getEmail() {
return Email;
}
public void setEmail(String email) {
Email = email;
}
@Override
public int describeContents() {
// TODO Auto-generated method stub
return 0;
}
@Override
public void writeToParcel(Parcel parcel, int flags) {
parcel.writeString(Name);
parcel.writeString(sex);
parcel.writeString(type);
parcel.writeString(userId);
parcel.writeString(ContactNo);
parcel.writeString(zipCode);
parcel.writeString(Address);
parcel.writeString(Email);
}
public static final Parcelable.Creator<Bar> CREATOR = new Creator<Bar>() {
public Bar createFromParcel(Parcel source) {
Bar barlst = new Bar();
barlst.Name = source.readString();
barlst.sex = source.readString();
barlst.ContactNo = source.readString();
barlst.type = source.readString();
barlst.userId = source.readString();
barlst.zipCode = source.readString();
barlst.Address = source.readString();
barlst.Email = source.readString();
return barlst;
}
@Override
public Bar[] newArray(int size) {
// TODO Auto-generated method stub
return new Bar[size];
}
};
}
I want to make a data class (first class) object be parcelable so in my first activity i did some this like this
EmptyRequest empt = new EmptyRequest();
Data responsestr = userManager.getMainMenuItems(empt,"url","Post","getBarList");
Intent myintent = new Intent(MainMenuPageActivity.this, BarListPageActivity.class);
Bundle mbundle = new Bundle();
mbundle.putParcelable("BARLIST", responsestr);
myintent.putExtras(mbundle);
startActivity(myintent);
till here my code worked fine and i kept the responsestr of type data into the parcelable
and in my next acitivity i tried to fetch data object like this
Data responseStr = (Response)getIntent().getParcelableExtra("BARLIST");
to fetch the object of type data but this didnt work and give exception the second activity class not found but my debugger reaches in the second activity.
Thanks in advance....