Intent之间传递object的两种方法:被传递的对象的类实现Parcelable接口,或者实现Serialiable接口。
http://www.anddev.org/putting_an_object_into_a_bundle-t6431.html
http://blog.csdn.net/Android_Tutor/archive/2010/07/16/5740845.aspx
Method 1
package de.padde.test ; import android.app.Activity ; import android.os.Bundle ; import android.os.Parcelable ; import android.os.Parcel ; public class Test extends Activity { public void onCreate ( Bundle savedInstanceState ) { super . onCreate ( savedInstanceState ) ; setContentView ( R. layout . main ) ; if ( ! savedInstanceState. isEmpty ( ) ) { SaveMe state = savedInstanceState. getParcelable ( "laststate" ) ; } } protected void onPause ( ) { Bundle b = new Bundle ( ) ; b. putParcelable ( "laststate" , new SaveMe ( ) ) ; onSaveInstanceState ( b ) ; } } class SaveMe implements Parcelable { static final int test = 1234 ; private int user ; private String name ; private double score ; private SaveMeToo smt ; public void writeToParcel ( Parcel out, int flags ) { out. writeInt ( user ) ; out. writeString ( name ) ; out. writeDouble ( score ) ; out. writeParcelable ( smt, flags ) ; } public static final Parcelable. Creator CREATOR = new Parcelable. Creator ( ) { public SaveMe createFromParcel ( Parcel in ) { return new SaveMe ( in ) ; } public SaveMe [ ] newArray ( int size ) { return new SaveMe [ size ] ; } } ; private SaveMe ( Parcel in ) { user = in. readInt ( ) ; name = in. readString ( ) ; score = in. readDouble ( ) ; smt = in. readParcelable ( getClass ( ) . getClassLoader ( ) ) ; } public SaveMe ( ) { } public int describeContents ( ) { return 0 ; } } class SaveMeToo implements Parcelable { private int moo ; public void writeToParcel ( Parcel out, int flags ) { out. writeInt ( moo ) ; } public static final Parcelable. Creator CREATOR = new Parcelable. Creator ( ) { public SaveMeToo createFromParcel ( Parcel in ) { return new SaveMeToo ( in ) ; } public SaveMeToo [ ] newArray ( int size ) { return new SaveMeToo [ size ] ; } } ; private SaveMeToo ( Parcel in ) { moo = in. readInt ( ) ; } public int describeContents ( ) { return 0 ; } } Parsed in 0.200 seconds, using GeSHi 1.0.8.4