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

来源:互联网 发布:双轨直销系统源码 编辑:程序博客网 时间:2024/06/05 04:35

需求: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;}@Overridepublic int describeContents() {return 2;}@Overridepublic void writeToParcel(Parcel dest, int flags) {dest.writeInt(id);dest.writeString(name);}public static final Parcelable.Creator<Student> CREATOR =new Creator<Student>() {@Overridepublic Student createFromParcel(Parcel source){Student student = new Student();student.id=source.readInt();student.name=source.readString();return student;}@Overridepublic 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
原创粉丝点击