Serializable 用法
public class MODEL implements Serializable {//注意
private static final long serialVersionUID = -7188270558443739436L;//让软件生成
}
Bundle b = new Bundle ( );
b.putSerializable(KEY, (Serializable) MODEL);//貌似单个model和List集合都可以.
getIntent( ).getSerializable(KEY) //并强制类型转换,Fragment 中会使用getArguments( )
////
Parcelable 用法
public final class Parcels {//Parcelable 传递的机制是先分割
public static Parcelable pack(Object obj) {
Message msg = new Message();
msg.obj = obj;
return msg;
}
public static <T> T unpack(Parcelable par) {
Message msg = (Message) par;
return (T) msg.obj;
}
}
Bundle extras = new Bundle();
extras.putParcelable(Key, Parcels.pack( List<MODEL>)); //貌似用了 Parcels可以不实现implements Parcelable。
Parcelable p = data.getParcelable(Key);
List<MODEL>= Parcels.unpack(p);