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 阅读(386) 评论(0) 收藏 举报
浙公网安备 33010602011771号