android传递对象有两种方式:

一种是Serializable和Parcelable

对于第一种方式:

import java.io.Serializable;


public class ShopData implements Serializable {
public String shopId;
public String name;
public String url;
public String info;


public String getShopId() {
return shopId;
}


public void setShopId(String shopId) {
this.shopId = shopId;
}


public String getName() {
return name;
}


public void setName(String name) {
this.name = name;
}


public String getUrl() {
return url;
}


public void setUrl(String url) {
this.url = url;
}


public String getInfo() {
return info;
}


public void setInfo(String info) {
this.info = info;
}


}

传递值的时候这样来传递:

[java] view plain copy
  1. <spanstyle="white-space:pre"></span>Intentintent=newIntent();
  2. ShopDatashopData=(ShopData)mAdapter.getItem(position);
  3. //intent.putExtra("detail",shopData);
  4. Bundlebundle=newBundle();
  5. bundle.putSerializable("shop",shopData);
  6. intent.putExtra("detail",shopData);
  7. intent.setClass(MainActivity.this,DetailShopActivity.class);
  8. MainActivity.this.startActivity(intent);
取值的时候: [java] view plain copy
  1. <spanstyle="white-space:pre"></span>Intentintent=getIntent();
  2. //ShopDatadata=intent.getParcelableExtra("detail");
  3. ShopDatadata=(ShopData)intent.getSerializableExtra("detail");

对于第二种方式: [java] view plain copy
  1. importandroid.os.Parcel;
  2. importandroid.os.Parcelable;
  3. publicclassShopDataimplementsParcelable{
  4. publicStringshopId;
  5. publicStringname;
  6. publicStringurl;
  7. publicStringinfo;
  8. publicShopData(Parcelin){
  9. readFromParcel(in);
  10. }
  11. publicShopData(){
  12. }
  13. publicstaticfinalParcelable.Creator<ShopData>CREATOR=newParcelable.Creator<ShopData>(){
  14. publicShopDatacreateFromParcel(Parcelin){
  15. returnnewShopData(in);
  16. }
  17. publicShopData[]newArray(intsize){
  18. returnnewShopData[size];
  19. }
  20. };
  21. @Override
  22. publicintdescribeContents(){
  23. return0;
  24. }
  25. @Override
  26. publicvoidwriteToParcel(Parceldest,intflags){
  27. dest.writeString(shopId);
  28. dest.writeString(name);
  29. dest.writeString(url);
  30. dest.writeString(info);
  31. }
  32. publicvoidreadFromParcel(Parcelin){
  33. shopId=in.readString();
  34. name=in.readString();
  35. url=in.readString();
  36. info=in.readString();
  37. }
  38. }

传递的时候这样写: [java] view plain copy
  1. <spanstyle="white-space:pre"></span>Intentintent=newIntent();
  2. ShopDatashopData=(ShopData)mAdapter.getItem(position);
  3. intent.putExtra("detail",shopData);
  4. intent.putExtra("detail",shopData);
  5. intent.setClass(MainActivity.this,DetailShopActivity.class);
  6. MainActivity.this.startActivity(intent);


取值的时候: [java] view plain copy
  1. <spanstyle="white-space:pre"></span>Intentintent=getIntent();
  2. ShopDatadata=intent.getParcelableExtra("detail");

更多相关文章

  1. Android(安卓)ProgressDialog 最佳处理方式
  2. Android(三)Android(安卓)SDK无法更新解决方式
  3. Android(安卓)ProgressDialog 最佳处理方式
  4. Android(安卓)ProgressDialog 最佳处理方式
  5. Android(安卓)轮询实现的三种方式
  6. android studio 3.1 Android(安卓)Device Monitor 新的启动方式
  7. 【Android】在任何View上添加红点★★★★★★★
  8. Android(安卓)TextView 字体加粗
  9. Android(安卓)触摸事件传递流程解析

随机推荐

  1. Android(安卓)SDK——Android(安卓)Studi
  2. Android(安卓)开发笔记之界面开发
  3. Android(安卓)API Demos学习 - Service部
  4. ScrollView只能有一个子控件
  5. android异常 Permission denied (maybe m
  6. android跳转到各个系统应用界面
  7. SegmentFault 技术周刊 Vol.4 - 这份 And
  8. Cocos2d-x学习之windows 7 android环境搭
  9. Android(安卓)AudioPolicyService和Audio
  10. Android(安卓)中发送邮件