Activity间通过Intent传递对象的方法
1.实现Parcelable接口
示例如下:
import android.os.Parcel; import android.os.Parcelable; public abstract class PayCallback implements Parcelable { public abstract void onPay(String result); public static final Parcelable.Creator<PayCallback> CREATOR = new Creator<PayCallback>() { public PayCallback createFromParcel(Parcel source) { PayCallback onPay = new PayCallback(){ @Override public void onPay(String result) { } }; return onPay; } @Override public PayCallback[] newArray(int size) { return new PayCallback[size]; } }; @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel dest, int flags) { } }
把对象put到Intent里
public void test(PayCallback onPay){ Intent intent = new Intent(context, TestActivity.class); intent.putExtra("payCallback", onPay); context.startActivity(intent); }
从Intent中取出对象
payCallback = (PayCallback) getIntent().getParcelableExtra("payCallback");
2.实现Serializable接口
示例如下:
public class ItemInfo implements Serializable{ /** */ private static final long serialVersionUID = 1L; /** 商品名称 */ private String subject; /** 总金额 */ private String total_fee; public String getSubject() { return subject; } public void setSubject(String subject) { this.subject = subject; } public String getTotal_fee() { return total_fee; } public void setTotal_fee(String total_fee) { this.total_fee = total_fee; } }
把对象put到Intent里
public void test(ItemInfo item){ Intent intent = new Intent(context, TestActivity.class); intent.putExtra("item", item); context.startActivity(intent); }
从Intent中取出对象
item = (ItemInfo) getIntent().getSerializableExtra("item");
posted on 2014-06-11 18:02 linchaolong 阅读(377) 评论(0) 编辑 收藏 举报