SUGARSPOT

Androidアプリ、WEBサービス開発の SUGARSPOT  |Androidブログ「Androidのことなんだけど」もやってます

2011年11月8日火曜日

[Android] BeanをIntentにセットできるようにParcelableにする

よく忘れるので自分用にメモ

必要なこと
  1. Parcelableを実装したクラスにする( implements Parcelable)
  2. Parcelable.Createrを実装したCREATERというstaticな変数を用意する
  3. Parcelを引数にとるコンストラクタを用意する
  4. writeToParcelで登録する順番と、上に書いたコンストラクタで読み出す順番を同じにする
実際に書いてみると


import android.os.Parcel;
import android.os.Parcelable;

public class Employ implements Parcelable {

    public int id;
    public String name;
    public int age;
    public String address;

    public Employ() {
    }

    private Employ(Parcel in) {
        id = in.readInt();
        name = in.readString();
        age = in.readInt();
        address = in.readString();
    }


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

    @Override
    public void writeToParcel(Parcel dest, int flags) {
        dest.writeInt(id);
        dest.writeString(name);
        dest.writeInt(age);
        dest.writeString(address);
    }


    public static final Parcelable.Creator<Employ> CREATOR = new Parcelable.Creator<Employ>() {
        public EmploycreateFromParcel(Parcel in) {
            return new Employ(in);
        }

        public Employ[] newArray(int size) {
            return new Employ[size];
        }
    };
}



0 件のコメント:

コメントを投稿