您的位置:首页 > 其它

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

2014-06-11 18:02 211 查看

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");
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: