展会信息港展会大全

实现Parcelable接口来快速在activity间传递数据
来源:互联网   发布日期:2016-01-14 12:10:19   浏览:1429次  

导读:package com.demo.entity; import java.util.ArrayList; import java.util.HashMap; import android.os.Parcel; import android.os.Parcelable; /** * 用户信息,实现Parcelable接口 * String,int,String[],ArrayListHashMapString,Object这四种类型测试 * @...

package com.demo.entity;

import java.util.ArrayList;

import java.util.HashMap;

import android.os.Parcel;

import android.os.Parcelable;

/**

* 用户信息,实现Parcelable接口

* String,int,String[],ArrayList<HashMap<String,Object>>这四种类型测试

* @author weijiang204321

*

*/

public class UserInfo implements Parcelable{

private String id;

private String name;

private int age;

private String[] boyfriendAry = new String[3];

private ArrayList<HashMap<String,SonInfo>> listData = new ArrayList<HashMap<String,SonInfo>>();

private SonInfo sonInfo;

public UserInfo(){

}

public UserInfo(String id,String name,int age,String[] boyfriendAry,ArrayList<HashMap<String,SonInfo>> listData){

this.id = id;

this.name = name;

this.age = age;

this.boyfriendAry = boyfriendAry;

this.listData = listData;

}

public UserInfo(Parcel source){

id = source.readString();

name = source.readString();

age = source.readInt();

sonInfo = source.readParcelable(SonInfo.class.getClassLoader());

source.readStringArray(boyfriendAry);

source.readList(listData, SonInfo.class.getClassLoader());

}

public String getId() {

return id;

}

public void setId(String id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

public SonInfo getSonInfo(){

return sonInfo;

}

public void setSonInfo(SonInfo sonInfo){

this.sonInfo = sonInfo;

}

public String[] getBoyfriendAry() {

return boyfriendAry;

}

public void setBoyfriendAry(String[] boyfriendAry) {

this.boyfriendAry = boyfriendAry;

}

public ArrayList<HashMap<String, SonInfo>> getListData() {

return listData;

}

public void setListData(ArrayList<HashMap<String, SonInfo>> listData) {

this.listData = listData;

}

@Override

public int describeContents() {

return 0;

}

//进行序列化存储

@Override

public void writeToParcel(Parcel dest, int flags) {

dest.writeString(id);

dest.writeString(name);

dest.writeInt(age);

dest.writeParcelable(sonInfo, Parcelable.PARCELABLE_WRITE_RETURN_VALUE);

dest.writeStringArray(boyfriendAry);

dest.writeList(listData);

}

public static final Parcelable.Creator<UserInfo> CREATOR = new Creator<UserInfo>() {

@Override

public UserInfo[] newArray(int size) {

return new UserInfo[size];

}

//将Parcel对象反序列化为UserInfo

@Override

public UserInfo createFromParcel(Parcel source) {

return new UserInfo(source);

}

};

}

赞助本站

人工智能实验室

相关热词: android开发 android教程

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港