Android 通过(Parcelable)序列化对象实现Activity间传递对象

需求:MainActivity跳转到TestActivity并将Student作为参数传递。

1)类Student的代码如下:

package com.example.test2;

import android.os.Parcel;
import android.os.Parcelable;

public class Student implements Parcelable{
	public Student(){}
	public Student (int _id, String _name){
		setId(_id);
		setName(_name);
	}
	private int id;
	private String name;
	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	@Override
	public int describeContents() {
		return 2;
	}
	@Override
	public void writeToParcel(Parcel dest, int flags) {
		dest.writeInt(id);
		dest.writeString(name);
	}
	public static final Parcelable.Creator<Student> CREATOR =new Creator<Student>() {
		@Override
		public Student createFromParcel(Parcel source){
			Student student = new Student();
			student.id=source.readInt();
			student.name=source.readString();
			return student;
		}
		@Override
		public Student[] newArray(int size){
			return new Student[size];
		}

	};
}
2)MainActivity跳转页面并传递参数的代码如下

/*生成参数对象*/
		Student item=new Student(1, "chad.cao");
	    Intent intent=new Intent(MainActivity.this, TestActivity.class);
	    intent.putExtra("student", item);
	    this.startActivity(intent);

3)TestActivity中获取参数的代码如下

Bundle bundle=this.getIntent().getExtras();
	    Student item=(Student)bundle.getParcelable("student");

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值