• Intent传递实现Parcelable接口的对象


    Intent可以传递基本数据类型,在对象实现了Parcelable接口后,Intent也可以传递对象。

    1. 使类ListVideo实现了Parcelable接口。

    package com.example.lenovo.computerbase.bean;
    
    import android.os.Parcel;
    import android.os.Parcelable;
    
    public class ListVideo implements Parcelable{
        private int l_v_no;
        private String l_v_name;
    
        public int getL_v_no() {
            return l_v_no;
        }
    
        public void setL_v_no(int l_v_no) {
            this.l_v_no = l_v_no;
        }
    
        public String getL_v_name() {
            return l_v_name;
        }
    
        public void setL_v_name(String l_v_name) {
            this.l_v_name = l_v_name;
        }
    
        @Override
        public int describeContents() {
            return 0;
        }
    
    // 特别注意重写writeToParcel这个方法 @Override
    public void writeToParcel(Parcel parcel, int i) { parcel.writeInt(l_v_no); parcel.writeString(l_v_name); } public static final Parcelable.Creator<ListVideo> CREATOR = new Creator<ListVideo>() { @Override public ListVideo createFromParcel(Parcel parcel) { return new ListVideo(parcel); } @Override public ListVideo[] newArray(int i) { return new ListVideo[i]; } }; public ListVideo(Parcel parcel){ l_v_no = parcel.readInt(); l_v_name = parcel.readString(); } public ListVideo(){ } }

    2. 在Intent中添加类实例listVideo

    ListVideo listVideo = new ListVideo();
    listVideo.setL_v_no(1);
    listVideo.setL_v_name("第一章");
                    
     //启动新的活动
    Intent intent = new Intent(this, VideoActivity.class);
    intent.putExtra("listVideo", listVideo);
    this.startActivity(intent);

    3. 在新的Intent中取出listVideo

    ListVideo listVideo = getIntent().getParcelableExtra("listVideo");
  • 相关阅读:
    线程
    unix架构
    Unix命令
    可重入函数reentrant function
    Eclipse 中 program arguments 与 VM arguments 的区别
    Java中Generics的使用
    Java的Reflection机制
    Java按值传递、按引用传递
    Java label
    LeetCode Merge Intervals
  • 原文地址:https://www.cnblogs.com/xiaoxiaoyibu/p/8810577.html
Copyright © 2020-2023  润新知