android通过intent传递自定义数据结构的方法:
1、创建实体类的时候同时实现Parcelable接口,并实现describeContents()和 writeToParcel(Parcel dest, int flags)()方法。
2、describeContents()可以默认实现。对于writeToParcel(Parcel dest, int flags)方法,需要根据实体类中的定义属性的顺序通过dest对象赋值:
比如: dest.writeInt( id );
dest.writeString(name);
其中:id和name是实体类中的两个字段。
3、创建一个static final 类型为 Parcelable .Creator的属性,而且名称必须为CREATOR,并重载相应的方法。
public static final Parcelable .Creator CREATOR = new Parcelable .Creator() {
public T createFromParcel(Parcel source) {
T t = new T();
t.id = source.readInt();
t.name = source.readString();
return t;
}
public T[] newArray( int size) {
return new T[size];
}
};
4、参数的传递
比如要传递HashMap
map.put(0,T);
Intent intent = new Intent();
intent.putExtra("list", map);
在接受方可以这样写:
HashMap
好了,android通过intent传递自定义数据结构的方法的方法就暂时介绍到这里吧。
- 相关文章
- Android运行时异常“Binary XML file line # : Er (17人浏览)
- Android ndk No implementation found for (139人浏览)
- Android的NDK开发—JNI数据结构之JNINativeMethod (151人浏览)
- Android-stagefright与opencore对比 (40人浏览)
- Android2.2、2.3、4.0 中如何使用GPU硬件加速原理 和游戏3D性 (151人浏览)
- android中的surface (82人浏览)
- android系统信息(内存、cpu、sd卡、电量、版本)获取 (237人浏览)
- 1楼 啦啦 发表于 2014-6-3 17:04:03
- intent.putExtra("list", map);你不觉得这段代码会报错吗