intent传值传对象跳转
Posted brucemengbm
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;
}
};
}
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传值传对象跳转的主要内容,如果未能解决你的问题,请参考以下文章
Android Studio基础项目-两个Activity的Intent跳转与传值,并onActivityResult回传一个/多个值,与回传消息内容。
Android Studio基础项目-两个Activity的Intent跳转与传值,并onActivityResult回传一个/多个值,与回传消息内容。
Android Studio基础项目-两个Activity的Intent跳转与传值,并onActivityResult回传一个/多个值,与回传消息内容。