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;

}

};

}

时间: 2024-11-08 06:44:10

intent传值传对象跳转的相关文章

关于 android Intent 传对象和对象数组的一些操作

关于 android Intent 传对象和对象数组的一些操作 分类: android GUI2013-10-10 00:47 2551人阅读 评论(5) 收藏 举报 androidintent传递对象传递对象数组 直接开正题,Intent传递值就是平常那些很简单的,接下来介绍传递 对象,和 对象数组 1 .intent 传递自定义的 对象 - 实体类继承  Serializable [java] view plaincopy [java] view plaincopy public class

通过Intent传递类对象

一.Intent是什么 1.定义 Intent被译作意图,其实还是很能传神的,Intent期望做到的,就是把实现者和调用者完全解耦,调用者专心将以意图描述清晰,发送出去,就可以梦想成真,达到目的. 这 个解释还是有点不太好理解,下面还有一个:Intent是一种运行时绑定(run-time binding)机制,它能在程序运行过程中连接两个不同的组件.通过Intent,你的程序可以向Android表达某种请求或者意愿,Android 会根据意愿的内容选择适当的组件来完成请求.比如,有一个Activ

Android 开发笔记——通过 Intent 传递类对象

Android中Intent传递类对象提供了两种方式一种是 通过实现Serializable接口传递对象,一种是通过实现Parcelable接口传递对象. 要求被传递的对象必须实现上述2种接口中的一种才能通过Intent直接传递. Intent中传递这2种对象的方法: Bundle.putSerializable(Key,Object); //实现Serializable接口的对象 Bundle.putParcelable(Key, Object); //实现Parcelable接口的对象 以下

android中用Intent传数据,如果用传递的是一个类,就将类实现Parcelable接口

Parcelable,内存单位,跨进程使用,或者intent传递对象的时候使用.android中用Intent传数据,如果用传递的是一个对象,就将对象实现Parcelable接口,而不是将对象序列化. /** * 预登记 出席领导回传给预登记页面 Javabean * Created by COCO on 2017/3/4. */ public class GovernmentTakeLeaderInfo implements Parcelable{//Parcelable,内存单位,跨进程使用

Android 通过 Intent 传递类对象

Android中Intent传递类对象提供了两种方式一种是 通过实现Serializable接口传递对象,一种是通过实现Parcelable接口传递对象. 要求被传递的对象必须实现上述2种接口中的一种才能通过Intent直接传递. Intent中传递这2种对象的方法: Bundle.putSerializable(Key,Object); //实现Serializable接口的对象 Bundle.putParcelable(Key, Object); //实现Parcelable接口的对象 以下

android通过 Intent 传递类对象

Android中Intent传递类对象提供了两种方式一种是 通过实现Serializable接口传递对象,一种是通过实现Parcelable接口传递对象. 要求被传递的对象必须实现上述2种接口中的一种才能通过Intent直接传递. Intent中传递这2种对象的方法: Bundle.putSerializable(Key,Object); //实现Serializable接口的对象 Bundle.putParcelable(Key, Object); //实现Parcelable接口的对象 以下

Vue用router.push(传参)跳转页面,参数改变,跳转页面数据不刷新的解决办法

vue-router同路由$router.push不跳转一个简单解决方案 vue-router跳转一般是这么写: goPage(ParentDeptCode2,DeptCode2,hosName,hosId){ this.$router.push({ path:'/ChoiceTime', query:{ DeptCode:ParentDeptCode2, DeptCode2:DeptCode2, hosName:hosName, hosId:hosId } })} 但是当遇到,需要跳转同页面不

传值传引用

[传值传引用] [1.栈&堆] < 栈> (1)Java的堆是一个运行时数据区,类的对象从堆中分配空间,这些对象通过new等指令建立. (2)堆内存空间是在运行时动态分配的.但由于需要在运行时动态分配内存,所以存取速度较慢. <堆> (1)栈中主要存放一些基本数据类型的变量(byte,short,int,long,float,double,boolean,char)和对象的引用. (2)栈的存取速度比堆快,栈数据可以共享.但存放在栈中的数据占用多少内存空间需要在编译时确定下

spring mvc 控制器方法传数组对象的一些经验

因为项目需要在一个表单里面提交多个对象,比较好的做法就是直接在控制器方法参数里传一个数组. 由于Spring mvc框架在反射生成控制方法的参数对象的时候会调用这个类的getDeclaredConstructor方法来获得构造函数, 但是一直报NoSuchMethodException的异常. 根据这个方法的jdk文档,这个类是一个数组对象时,这个方法会抛出java.lang.NoSuchMethodException,因为接口.数组类.void.基本类型没有构造函数. 同事后来给我支了两招,使