android页面间传递对象
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;
}
}
传递值的时候这样来传递:
<span style="white-space:pre"> </span>Intent intent = new Intent();
ShopData shopData = (ShopData)mAdapter.getItem(position);
// intent.putExtra("detail", shopData);
Bundle bundle = new Bundle();
bundle.putSerializable("shop", shopData);
intent.putExtra("detail", shopData);
intent.setClass(MainActivity.this, DetailShopActivity.class);
MainActivity.this.startActivity(intent);
取值的时候:
<span style="white-space:pre"> </span>Intent intent = getIntent();
// ShopData data = intent.getParcelableExtra("detail");
ShopData data = (ShopData)intent.getSerializableExtra("detail");
对于另外一种方式:
import android.os.Parcel;
import android.os.Parcelable; public class ShopData implements Parcelable{ public String shopId;
public String name;
public String url;
public String info; public ShopData(Parcel in) {
readFromParcel(in);
} public ShopData() {
} public static final Parcelable.Creator<ShopData> CREATOR = new Parcelable.Creator<ShopData>() { public ShopData createFromParcel( Parcel in ){
return new ShopData(in);
} public ShopData[] newArray( int size){
return new ShopData[size];
}
}; @Override
public int describeContents() {
return 0;
} @Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(shopId);
dest.writeString(name);
dest.writeString(url);
dest.writeString(info); }
public void readFromParcel( Parcel in ){
shopId = in.readString();
name = in.readString();
url = in.readString();
info = in.readString();
} }
传递的时候这样写:
<span style="white-space:pre"> </span>Intent intent = new Intent();
ShopData shopData = (ShopData)mAdapter.getItem(position);
intent.putExtra("detail", shopData);
intent.putExtra("detail", shopData);
intent.setClass(MainActivity.this, DetailShopActivity.class);
MainActivity.this.startActivity(intent);
取值的时候:
<span style="white-space:pre"> </span>Intent intent = getIntent();
ShopData data = intent.getParcelableExtra("detail");
android页面间传递对象的更多相关文章
- .net中常用的几种页面间传递参数的方法
转自:http://www.cnblogs.com/lxshanye/archive/2013/04/11/3014207.html 参考:http://www.cnblogs.com/zhangka ...
- JSP页面间传递参数的5种方法
JSP页面间传递参数是经常需要使用到的功能,有时还需要多个JSP页面间传递参数.下面介绍一下实现的方法. (1)直接在URL请求后添加 如:< a href="thexuan.jsp? ...
- jsp 页面间传递参数
JSP页面间传递参数是经常需要使用到的功能,有时还需要多个JSP页面间传递参数.下面介绍一下实现的方法. (1)直接在URL请求后添加 如:< a href="thexuan.jsp? ...
- 在微信小程序页面间传递数据总结
在微信小程序页面间传递数据 原文链接:https://www.jianshu.com/p/dae1bac5fc75 在开发微信小程序过程之中,遇到这么一些需要在微信小程序页面之间进行数据的传递的情况, ...
- jsp页面间传递参数 中文乱码问题(zz)
jsp页面间传递参数 中文乱码问题 1.传递参数 var url = "*****Test.jsp?param1="+encodeURI(encodeURI(str));//对 ...
- ios页面间传递参数四种方式
ios页面间传递参数四种方式 1.使用SharedApplication,定义一个变量来传递. 2.使用文件,或者NSUserdefault来传递 3.通过一个单例的class来传递 4.通过Dele ...
- localstroge可以在页面间传递数值;
连接地址为:http://4.suancai.sinaapp.com/localstorg/a.html 原理是,a页面设置了sessionstorge,b页面可以访问到; 并且已关闭浏览器,sest ...
- StoryBoard学习(5):使用segue页面间传递数据
StoryBoard学习(5):使用segue页面间传递数据 函数: - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sen ...
- Java WEB 之页面间传递特殊字符
本文是学习网络上的文章时的总结以及自己的一点实践.感谢大家无私的分享. 昨天在做项目的时候,有一个页面间传递特殊字符的需求,查了一些资料.如今将自己的经验写出来. 首先.在前台编码 var fckPu ...
随机推荐
- Android内存使用——垃圾回收LOG,GC_CONCURRENT等的意义的说明
在调试程序的时候,经常发现GC_CONCURRENT之类的打印.在网上搜了一下,感觉说法各式各样.最后,在Google的官方网站上发现了详细介绍. Every time a garbage colle ...
- 设计模式(八)组合模式 Composite
组合模式: 允许你将对象组合成树形结构来表现“整体/部分”层次结构.组合能让客户以一致的方式处理个别对象以及对象组合. 组合模式适用于创建复杂的对象,这个对象包含某些个别的对象以及这些对象的组合. 从 ...
- c++ 的语法方面的问题
1.字符串string 中 ""和null的区别 答:举个例子,你老妈让你去打瓶酱油.你要是空手去了,你就是带着null去的.你要是带着空瓶子去的,你就是呆着“”去的.希望你能理 ...
- Unity 导出的android项目自动生成Private Libraries
如果Unity里面Plugins/Android 添加了 jar 文件,则导出Android 项目时会自动生成 Private Libraries. 而且里面的项还删不掉 然后在网上搜了一下,找到了原 ...
- Red is good(bzoj 1419)
Description 桌面上有R张红牌和B张黑牌,随机打乱顺序后放在桌面上,开始一张一张地翻牌,翻到红牌得到1美元,黑牌则付出1美元.可以随时停止翻牌,在最优策略下平均能得到多少钱. Input 一 ...
- POJ3928 Ping pong
Time Limit: 1000MS Memory Limit: 65536KB 64bit IO Format: %lld & %llu Description N(3<= ...
- TYVJ 1305 最大子序和 ++ 烽火传递
描述 输入一个长度为n的整数序列,从中找出一段不超过M的连续子序列,使得整个序列的和最大. 例如 1,-3,5,1,-2,3 当m=4时,S=5+1-2+3=7当m=2或m=3时,S=5+1=6 输入 ...
- excel 表格lookup 的操作
这个实现语句如下,(写在2行然后向下拖动)(2007或以上版本): = IF(,ISBLANK($H2),$G2="), "", IF("), IF($H2&g ...
- 第0章Linux环境到内核基础知识
#include<stdio.h> int main(void) { printf("hello world\n"); return 0; } gcc -g -wall ...
- Laravel 基础知识
使用版本Laravel5.1.======================================================目录简单介绍:app目录,核心目录,应用目录.bootstra ...