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 ...
随机推荐
- 合并Excel工作薄中成绩表的VBA代码,非常适合教育一线的朋友_python
这时候还需要把各个工作表合并到一起来形成一个汇总表.这时候比较麻烦也比较容易出错,因为各个表的学号不一定都是一致的.对齐的.因为可能会有人缺考,有人会考号涂错等等.特奉献以下代码,用于合并学生成绩表或 ...
- 内存分配机制malloc&&alloca&&realloc
<1>从静态存储区域分配. 内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在.例如全局变量.static变量.<2>在栈上创建 在执 ...
- Linux Shell系列教程之(十)Shell for循环
本文是Linux Shell系列教程的第(十)篇,更多Linux Shell教程请看:Linux Shell系列教程 基本任何语言都有自己的循环语句,Shell当然也不例外,今天就为大家介绍下Shel ...
- kubernetes安装kubectl和minikube
安装kubectl命令 curl -Lo kubectl https://storage.googleapis.com/kubernetes-release/release/v1.10.0/bin/l ...
- socket编程-微软小兵
socket两端建立连接,不断开的连接的情况下做数据交互,客户端发送数据和服务端返回数据.直到客户端要求断开,则关闭连接. 代码目录结构:
- 大规模SOA系统中的分布事务思考
首先是不建议采用XA两阶段提交方式去处理分布式事务,要知道要能够支持XA分布式事务,必须是要实现XA规范才可以,而Service本身是无状态的,如果这样去做了等于是把Service内部的东西暴露了出去 ...
- 【CF20C】Dijkstra?(DIJKSTRA+HEAP)
没什么可以说的 做dijk+heap模板吧 以后考试时候看情况选择SFPA和DIJKSTRA ; ..]of longint; dis:..]of int64; a:..]of int64; b:.. ...
- comet realization with ajax&php
1.prepare front-end code, meta content-type cannot be ignored! as to the xhr, status should be 3 < ...
- 下拉菜单的option的value属性值问题
下拉菜单的所有option都必须有value值,如果没有value会将标签中间的值传上去: 比如: <span class="el_spans">试卷级别:</s ...
- 标准C程序设计七---114
Linux应用 编程深入 语言编程 标准C程序设计七---经典C11程序设计 以下内容为阅读: <标准C程序设计>(第7版) 作者 ...