I created a class called CardView.
CardView object has 1 property: int number
I want to trasfer arrayList of CardView Objects from MainActivity to MainActivity2
I tried to do it but when I printed getNumber of the first(or any) object it returns 0 instead of the number I set in new Cardview(int number).
here is the code:
MainActivity onCreate():
List<CardView> list = new ArrayList<>();
list.add(new CardView(10));
list.add(new CardView(11));
list.add(new CardView(12));
Intent mIntent = new Intent(this, MainActivity2.class);
mIntent.putParcelableArrayListExtra("Data", (ArrayList<? extends Parcelable>) list);
startActivity(mIntent);
MainActivity2 onCreate():
List list;
list = getIntent().getExtras().getParcelableArrayList("Data");
Toast.makeText(this, ((CardView)list.get(0)).getNumber()+"", Toast.LENGTH_SHORT).show();
CardView Class:
public class CardView implements Parcelable {
int number;
public CardView(int number){
this.number = number;
}
public int getNumber() {
return number;
}
protected CardView(Parcel in) {
}
public static final Creator<CardView> CREATOR = new Creator<CardView>() {
@Override
public CardView createFromParcel(Parcel in) {
return new CardView(in);
}
@Override
public CardView[] newArray(int size) {
return new CardView[size];
}
};
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel parcel, int i) {
}
}