android中用Intent傳數據,如果用傳遞的是一個類,就將類實現Parcelable接口


Parcelable,內存單位,跨進程使用,或者intent傳遞對象的時候使用。
android中用Intent傳數據,如果用傳遞的是一個對象,就將對象實現Parcelable接口,而不是將對象序列化。
/**
 * 預登記 出席領導回傳給預登記頁面 Javabean
 * Created by COCO on 2017/3/4.
 */

public class GovernmentTakeLeaderInfo implements Parcelable{//Parcelable,內存單位,跨進程使用,或者intent傳遞對象的時候使用
    private String name;
    private String leaderId;

    //默認構造函數 要加上
    public GovernmentTakeLeaderInfo(){};

    protected GovernmentTakeLeaderInfo(Parcel in) {
        name = in.readString();
        leaderId = in.readString();
    }

    public static final Creator<GovernmentTakeLeaderInfo> CREATOR = new Creator<GovernmentTakeLeaderInfo>() {
        @Override
        public GovernmentTakeLeaderInfo createFromParcel(Parcel in) {
            return new GovernmentTakeLeaderInfo(in);
        }

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

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getLeaderId() {
        return leaderId;
    }

    public void setLeaderId(String leaderId) {
        this.leaderId = leaderId;
    }

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

    @Override
    public void writeToParcel(Parcel dest, int flags) {
        dest.writeString(name);
        dest.writeString(leaderId);
    }
}

以上是要用intent傳遞的數據。

在用Intent傳遞的時候要調用ParcelableArrayListExtra相關方法。例如在回傳數據的時候:

Intent intent = getIntent();
intent.putParcelableArrayListExtra("data_return", data);//跨進程使用,或者intent傳遞對象的時候使用
setResult(RESULT_OK, intent);

在接收數據的時候:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM