Pass list of objects from one activity to other activity in android

后端 未结 7 1765
轻奢々
轻奢々 2020-12-01 01:35

I want to pass a list of objects from one activity from another activity. I have one class SharedBooking Below:

public class SharedBooking {         


        
7条回答
  •  难免孤独
    2020-12-01 02:15

    Use parcelable. Here is how you will do it:

    public class SharedBooking implements Parcelable{
    
        public int account_id;
        public Double betrag;
        public Double betrag_effected;
        public int taxType;
        public int tax;
        public String postingText;
    
        public SharedBooking() {
            account_id = 0;
            betrag = 0.0;
            betrag_effected = 0.0;
            taxType = 0;
            tax = 0;
            postingText = "";
        }
    
        public SharedBooking(Parcel in) {
            account_id = in.readInt();
            betrag = in.readDouble();
            betrag_effected = in.readDouble();
            taxType = in.readInt();
            tax = in.readInt();
            postingText = in.readString();
        }
    
        public int getAccount_id() {
            return account_id;
        }
        public void setAccount_id(int account_id) {
            this.account_id = account_id;
        }
        public Double getBetrag() {
            return betrag;
        }
        public void setBetrag(Double betrag) {
            this.betrag = betrag;
        }
        public Double getBetrag_effected() {
            return betrag_effected;
        }
        public void setBetrag_effected(Double betrag_effected) {
            this.betrag_effected = betrag_effected;
        }
        public int getTaxType() {
            return taxType;
        }
        public void setTaxType(int taxType) {
            this.taxType = taxType;
        }
        public int getTax() {
            return tax;
        }
        public void setTax(int tax) {
            this.tax = tax;
        }
        public String getPostingText() {
            return postingText;
        }
        public void setPostingText(String postingText) {
            this.postingText = postingText;
        }
        public int describeContents() {
            // TODO Auto-generated method stub
            return 0;
        }
        public void writeToParcel(Parcel dest, int flags) {
            dest.writeInt(account_id);
            dest.writeDouble(betrag);
            dest.writeDouble(betrag_effected);
            dest.writeInt(taxType);
            dest.writeInt(tax);
            dest.writeString(postingText);
    
        }
    
        public static final Parcelable.Creator CREATOR = new Parcelable.Creator()
        {
            public SharedBooking createFromParcel(Parcel in)
            {
                return new SharedBooking(in);
            }
            public SharedBooking[] newArray(int size)
            {
                return new SharedBooking[size];
            }
        };
    
    }
    

    Passing the data:

    Intent intent = new Intent(getApplicationContext(),YourActivity.class);
    Bundle bundle = new Bundle();
    bundle.putParcelable("data", sharedBookingObject);
    intent.putExtras(bundle);
    startActivity(intent);
    

    Retrieving the data:

    Bundle bundle = getIntent().getExtras();
    sharedBookingObject = bundle.getParcelable("data");
    

提交回复
热议问题