intent传值传对象跳转
intent传值传对象跳转
1.传值
//原activity中存入一个字段
intent = new Intent(From.this, To.class);
intent.putExtra("switch", "chongzhi");
startActivity(intent);
//跳转至新的activity中后q取出该字段
Intent switchIntent = getIntent();
String myswitch = switchIntent.getStringExtra("switch");
2.传对象
intent = dialogInfo.getIntent();
/往Intent对象中传入一个对象
UserInfo 需实现Parcelable接口 创建creator
//存到一个Bundle 中
Bundle myBundle = new Bundle();
myBundle.putParcelable("userInfo", userInfo);
intent.putExtras(myBundle);
//在新的 Toactivity中取对象
Intent getIntent = getIntent();
UserInfo userInfo=(UserInfo)(getIntent.getParcelableExtra("userInfo"));
详情见http://caiwb1990.iteye.com/blog/1404201
3.附实现Parcelable的接口类 也就是序列化该对象
package com.example.entity;
import android.os.Parcel;
import android.os.Parcelable;
import android.os.Parcelable.Creator;
public class UserInfo implements Parcelable{
private int id;
private String username;
private String password;
private String phoneNum;
private double money;
@Override
public int describeContents() {
// TODO Auto-generated method stub
return 0;
}
@Override
public void writeToParcel(Parcel dest, int arg1) {
// TODO Auto-generated method stub
dest.writeString(username);
dest.writeString(password);
dest.writeString(phoneNum);
dest.writeDouble(money);
}
public static final Creator<UserInfo> CREATOR = new Creator<UserInfo>() {
@Override
public UserInfo createFromParcel(Parcel source) {
UserInfo entity = new UserInfo();
// 顺序需和写入顺序一样
entity.username= source.readString();
entity.password = source.readString();
entity.phoneNum = source.readString();
entity.money = source.readDouble();
return entity ;
}
@Override
public UserInfo[] newArray(int arg0) {
// TODO Auto-generated method stub
return null;
}
};
}
intent传值传对象跳转的更多相关文章
- uniapp uni.navigateTo 传值传对象
uni.navigateTo({ url: '/pages/details?obj='+ encodeURIComponent(JSON.stringify(item)) }); 接收: onLoad ...
- intent传对象
intent还有一个很好用的地方,就是传输对象,但要注意的是这里的传输只是将对象复制了一份通过intent进行传递,并不能达到实时更新的效果,也就是这个对象等偏重于“读”.intent对这个对象有着严 ...
- Android 通过 Intent 传递类对象或list对象
(转:http://www.cnblogs.com/shaocm/archive/2013/01/08/2851248.html) Android中Intent传递类对象提供了两种方式一种是 通过实现 ...
- Intent之前的对象传递与fragment传递数据
Android中Intent传递类对象提供了两种方式一种是 通过实现Serializable接口传递对象,一种是通过实现Parcelable接口传递对象. 要求被传递的对象必须实现上述2种接口中的一种 ...
- Android 通过 Intent 传递类对象
Android中Intent传递类对象提供了两种方式一种是 通过实现Serializable接口传递对象,一种是通过实现Parcelable接口传递对象. 要求被传递的对象必须实现上述2种接口中的一种 ...
- Android 开发笔记——通过 Intent 传递类对象
Android中Intent传递类对象提供了两种方式一种是 通过实现Serializable接口传递对象,一种是通过实现Parcelable接口传递对象. 要求被传递的对象必须实现上述2种接口中的一种 ...
- android通过 Intent 传递类对象
Android中Intent传递类对象提供了两种方式一种是 通过实现Serializable接口传递对象,一种是通过实现Parcelable接口传递对象. 要求被传递的对象必须实现上述2种接口中的一种 ...
- android中用Intent传数据,如果用传递的是一个类,就将类实现Parcelable接口
Parcelable,内存单位,跨进程使用,或者intent传递对象的时候使用.android中用Intent传数据,如果用传递的是一个对象,就将对象实现Parcelable接口,而不是将对象序列化. ...
- intent 传参数
一.传递List<String>和List<Integer>以下以传递List<String>为例,发送List<String>语法为:intent.p ...
随机推荐
- selenium webdriver——元素操作
#Author:xiaoxiao from selenium import webdriver import time def abcd(): driver = webdriver.Firefox() ...
- Java Socket实战之三 传输对象
首先需要一个普通的对象类,由于需要序列化这个对象以便在网络上传输,所以实现java.io.Serializable接口就是必不可少的了,入下: public class User implements ...
- HDU 5322 Hope ——NTT 分治 递推
发现可以推出递推式.(并不会) 然后化简一下,稍有常识的人都能看出这是一个NTT+分治的情况. 然而还有更巧妙的方法,直接化简一下递推就可以了. 太过巧妙,此处不表,建议大家找到那篇博客. 自行抄写 ...
- 【VBA】随机数
[说明] 随机数.生成2个随机数m.n,取值范围为1~R.1~C Randomize m = )) + ) ' 1~R Random Int Randomize n = )) + ) ' 1~C Ra ...
- kubernetes-dashboard
1.导入kubernetes-dashboard 镜像 [root@node1 DNS]# docker load < kube-dashboard.tar 6bc90c4dba69: Load ...
- 【转】手摸手,带你用vue撸后台 系列一
前言 说好的教程终于来了,第一篇文章主要来说一说在开始写业务代码前的一些准备工作吧,但这里不会教你webpack的基础配置,热更新怎么做,webpack速度优化等等,有需求的请自行google. 目录 ...
- 从数据库的表导出到Excel表格中【让客户端下载的Excel】
原文发布时间为:2008-10-11 -- 来源于本人的百度文章 [由搬家工具导入] 这个例子是从gridview中导出到Excel,可以举一反三,可以直接从数据库中取值放在DataSet中,然后再从 ...
- dedeCMS php标签使用说明和数据库查询说明
1.{dede:php}标签想要输出信息 可以直接使用printf , echo,var_dump 之类的打印出来 赋值给@me 无效 2.结合sql语句使用方法 例:{dede:php} $ro ...
- DataSet导出到Excel文件
public static void ExportToExcel(DataSet source, string fileName) { System.IO.StreamWriter excelDoc ...
- WSL学习:安装ArchLinux和Root/Cling以及注意事项
1.前言 在Windows下使用Linux常见的软件存在许多困难.选择之一是使用VMWare和VirtualBox之类的虚拟机软件,另一种选择是使用类UNIX模拟环境,如Cygwin,GNUWin32 ...