Activity间通过Intent传递对象的方法

本文介绍了在Android中如何通过Intent在Activity之间传递对象,包括两种常见方法:实现Parcelable接口和Serializable接口。详细解释了每种方法的实现步骤和使用场景。

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");




评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值