最新消息:关注【已取消】微信公众号,可以获取全套资料,【全套Java基础27天】【JavaEE就业视频4个月】【Android就业视频4个月】

Android Parcelable用法,Intent跳转页面并传递参数的方法介绍

Android 太平洋学习网 浏览 评论

Android中的Fragment或Activity之间传递参数,可以使用Android Parcelable来封装实体类对象,然后使用使用bundle.putParcelable()或者intent.putParcelable方法即页面之间可传递参数了。

我们先用DataMsgParcel实体类实现Parcelable接口

import android.os.Parcel;
import android.os.Parcelable;

public class DataMsgParcel implements Parcelable {

    private int dataId;
    private String msg;

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }


    public int getDataId() {
        return dataId;
    }

    public void setDataId(int dataId) {
        this.dataId = dataId;
    }


    public DataMsgParcel(){}

    protected DataMsgParcel(Parcel in) {
        dataId = in.readInt();
        msg = in.readString();
    }

    public static final Creator<DataMsgParcel> CREATOR = new Creator<DataMsgParcel>() {
        @Override
        public DataMsgParcel createFromParcel(Parcel in) {
            return new DataMsgParcel(in);
        }

        @Override
        public DataMsgParcel[] newArray(int size) {
            return new DataMsgParcel[size];
        }
    };

    @Override
    public int describeContents() {
        return 0;
    }

    @Override
    public void writeToParcel(Parcel dest, int flags) {
        dest.writeInt(dataId);
        dest.writeString(msg);
    }


}

在FirstActivity中放入数据到intent或者bundle上,代码如下:

Intent intent = new Intent(this,SecondActivity.class);
DataMsgParcel dataMsg = new DataMsgParcel();
dataMsg.setDataId(1);
dataMsg.setMsg("This is a msg");
intent.putParcelable("key",dataMsg);
startActivity(intent);

然后在SecondActivity上获取来自intent的Parcelable数据即可:

DataMsgParcel dataMsgParcel = (DataMsgParcel)getIntent().getParcelable("key");
String msg = dataMsgParcel.getMsg();

在Activity中使用Parcelable来传递参数,就可以传递复杂的Object对象了。

来源网站:太平洋学习网,转载请注明出处:http://www.tpyyes.com/a/android/1188.html
"文章很值,打赏犒劳作者一下"
微信号: Javaweb_engineer

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

与本文相关的文章

发表我的评论
取消评论

表情

您的回复是我们的动力!

  • 昵称 (必填)

网友最新评论