Android中使用putExtra()传递对象实例

来源:互联网 发布:一级建造师 网络教育 编辑:程序博客网 时间:2024/06/06 19:42

在Android中,使用intent的putExtra()方法是没有办法传递实例的,但是我们很多情况下都需要传递实例过去,这样子会更加方便一点。接下里,我就说一下怎么使用putExtra()方法来进行实例的传递。
首先创建一个类:

package com.zkteco.petsystem;import java.io.Serializable;/** * Created by Administrator on 2017/9/5 0005. */public class ItemInfo implements Serializable{    private String name;    private int attack;    private int life;    private int speed;    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public int getAttack() {        return attack;    }    public void setAttack(int attack) {        this.attack = attack;    }    public int getLife() {        return life;    }    public void setLife(int life) {        this.life = life;    }    public int getSpeed() {        return speed;    }    public void setSpeed(int speed) {        this.speed = speed;    }    public ItemInfo(String name, int attack, int life, int speed) {        this.name = name;        this.attack = attack;        this.life = life;        this.speed = speed;    }    public ItemInfo(){    }}

一定要注意,

这个类要实现Serializable接口

,这是很关键的一步。

然后在传递的时候,使用putExtra()方法进行传递,详情见以下代码

                Intent intent = new Intent();                intent.putExtra("itemInfo",itemInfo);                setResult(1,intent);                finish();

finish()方法用于结束销毁掉当前activity。
在接受数据的页面,使用getSerializableExtra()方法获取传递的值,要注意类型的强制转换。

ItemInfo itemInfo= (ItemInfo) data.getSerializableExtra("itemInfo");
原创粉丝点击