zoukankan      html  css  js  c++  java
  • Gson解析复杂的Bean类实现Parcelable

    import java.util.ArrayList;
    import android.os.Parcel;
    import android.os.Parcelable;
    import android.support.v4.os.ParcelableCompat;
    
    public class Question implements Parcelable{
    
    
    String id;
    String text;
    String image;
    ArrayList<Choices> CHOICES;
    
    
    public Question(String id, String text, String image) {
        super();
        this.id = id;
        this.text = text;
        this.image = image;
    }
    
    public String getId() {
        return id;
    }
    
    public void setId(String id) {
        this.id = id;
    }
    
    public String getText() {
        return text;
    }
    
    public void setText(String text) {
        this.text = text;
    }
    
    public String getImage() {
        return image;
    }
    
    public void setImage(String image) {
        this.image = image;
    }
    
    @Override
    public String toString() {
        return "Question [id=" + id + ", text=" + text + ", image=" + image
                + "]";
    }
    
    
    
    
    // Answer Choices class
    class Choices {
    
        boolean isCorrect;
        String choice;
    
        public Choices(boolean isCorrect, String choice) {
            this.isCorrect = isCorrect;
            this.choice = choice;
        }
    
        public String getChoice() {
            return choice;
        }
    
        public boolean getIsCorrect() {
            return isCorrect;
        }
    
        @Override
        public String toString() {
            return "Choices [isCorrect=" + isCorrect + ", choice=" + choice
                    + "]";
        }
    
    }
    
    
    public static final Parcelable.Creator<Question> CREATOR = new Parcelable.Creator<Question>() {
    
        @Override
        public Question createFromParcel(Parcel in) {
            return new Question(in);
        }
    
        @Override
        public Question[] newArray(int size) {
            return new Question[size];
        }
    
    };
    
    @Override
    public int describeContents() {
        // TODO Auto-generated method stub
        return 0;
    }
    
    @Override
    public void writeToParcel(Parcel dest, int flags) {
    
        dest.writeString(id);
        dest.writeString(text);
        dest.writeString(image);
        dest.writeList(CHOICES);
    
    }
    
    private Question(Parcel in) {
        this.id = in.readString();this.text =in.readString();this.image =in.readString();this.CHOICES =in.readArrayList(Choices.class.getClassLoader());
    }
    }
  • 相关阅读:
    TP5学习笔记- 使用命令行创建控制器
    centos 7 下安装mysql5.7
    webserver的安装
    linux常用命令 服务器硬件资源信息
    SSH 安装/ config 配置以及免密码登录
    thinkphp ,laravel,yii2运行环境搭建.
    分享几个博客园代码样式的CSS配置(复制黏贴即可)
    vue中通过.sync修饰符实现子组件修改父组件数据
    vue中$attrs和$listeners以及inheritAttrs的用法
    Vue项目中实现用户登录及token验证
  • 原文地址:https://www.cnblogs.com/lenkevin/p/5802224.html
Copyright © 2011-2022 走看看