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编辑  收藏  举报

导航