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 ...
随机推荐
- A Few Laughing Men
A Few Laughing Men CodeChef - LAUGHMEN Balaji is a great person to hang out with. He tells really am ...
- Mysql读写分离实例
吐槽:前天刚加完MQ,这回加读写分离.我也是醉了,但是弄完之后,就发现,似乎没我想的那么复杂,真的!另外,昨天试了一下用swagger编写API文档,太方便了,加上Mock service测试.这两天 ...
- iOS AFNetWorking中block执行完后再执行其它操作
需求:同时进行两次网络请求,网络请求是异步的,在网络请求成功后进行其它的操作.两个网络请求是这样,一个网络请求中block执行完之后,再进行其它操作,也是一样的原理,只是这时候不需要线程组了,只需要信 ...
- [BZOJ3261] 最大异或和 (异或前缀和,可持久化Trie)
Description 给定一个非负整数序列{a},初始长度为N. 有M个操作,有以下两种操作类型: 1.Ax:添加操作,表示在序列末尾添加一个数x,序列的长度N+1. 2.Q l r x:询问操作, ...
- 【CF721C】Journey(拓扑排序,最短路,DP)
题意:给一个无环的图,问用不超过T的时间从1到n最多可以经过多少个点.要求输出一条路径. 思路:因为无环,可以用DP做.不过因为时间最短的原因要拓扑排序后再DP,目测由底向上的更新也是可以的. ; . ...
- 24深入理解C指针之---指针和数组
一.指针和数组 #include <stdio.h> int main(int argc, char **argv) { ] = {, , , , ,}; int *ptrVector = ...
- react css module
<div className={style['content-warp']}></div> <div className={style.search}></d ...
- vue框架及其
Vue常用UI框架 PC端: 1. ElementUI:http://element-cn.eleme.io/#/zh-CN 2. iView:https://www.iviewui.com/ 3. ...
- python导入sklearn模块出现DLL load failed的解决办法
笔者安装的python版本是2.7.6,最近在导入sklearn(版本:0.16.1)的模块时,经常出现DLL load failed的报错,具体截图如下: 解决办法与步骤如下: 由于sklearn的 ...
- Java中获取ServletContext的方法
Servlet: this.getServletContext() this.getServletConfig().getServletContext() request.getSession().g ...