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());
    }
    }
  • 相关阅读:
    C#多线程学习(一) 多线程的相关概念
    如何:创建和终止线程(C# 编程指南)
    原来多线程中的join()是这么回事(转)
    c# 关于Task类处理多线程的学习
    C#多线程学习(四) 多线程的自动管理(线程池)
    【转】Java 四种引用
    【转】Java线程:新特征锁(1)
    Builder
    Proxy
    【转】Java NIO(一)
  • 原文地址:https://www.cnblogs.com/lenkevin/p/5802224.html
Copyright © 2011-2022 走看看