Android - Implementieren einer parzellierbaren inneren Klasse

Ich weiß, wie man eine einfache Parcelable-Klasse mit öffentlichen Variablen implementiert, aber die folgende Klasse ist etwas komplexer. Wie kann ich die Parcelable-Schnittstelle implementieren, vorausgesetzt, diese Klasse verfügt über eine innere Klasse und ListEntity? Ich bin mir nicht mal sicher, wie ich anfangen soll. Für detaillierte Informationen hierzu wäre ich sehr dankbar.

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

import java.util.List;

public class ResponsePlaceSearch implements Parcelable {

    // *** Parcelable methods are shown below (Begin) ***

    protected ResponsePlaceSearch(Parcel in) {
    }

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

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

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

    @Override
    public void writeToParcel(Parcel dest, int flags) {

    }

    // *** (End) ***


    private List<ListEntity> list;

    public void setList(List<ListEntity> list) {
        this.list = list;
    }

    public List<ListEntity> getList() {
        return list;
    }

    public static class ListEntity {
        private int id;
        private String name;

        private CoordEntity coord;
        private int dt;

        private WindEntity wind;

        private SysEntity sys;

        public void setId(int id) {
            this.id = id;
        }

        public void setName(String name) {
            this.name = name;
        }

        public void setCoord(CoordEntity coord) {
            this.coord = coord;
        }

        public void setDt(int dt) {
            this.dt = dt;
        }

        public void setWind(WindEntity wind) {
            this.wind = wind;
        }

        public void setSys(SysEntity sys) {
            this.sys = sys;
        }

        public int getId() {
            return id;
        }

        public String getName() {
            return name;
        }

        public CoordEntity getCoord() {
            return coord;
        }

        public int getDt() {
            return dt;
        }

        public WindEntity getWind() {
            return wind;
        }

        public SysEntity getSys() {
            return sys;
        }

        public static class CoordEntity {
            private double lon;
            private double lat;

            public void setLon(double lon) {
                this.lon = lon;
            }

            public void setLat(double lat) {
                this.lat = lat;
            }

            public double getLon() {
                return lon;
            }

            public double getLat() {
                return lat;
            }
        }

        public static class WindEntity {
            private double speed;
            private double deg;

            public void setSpeed(double speed) {
                this.speed = speed;
            }

            public void setDeg(double deg) {
                this.deg = deg;
            }

            public double getSpeed() {
                return speed;
            }

            public double getDeg() {
                return deg;
            }
        }

        public static class SysEntity {
            private String country;

            public void setCountry(String country) {
                this.country = country;
            }

            public String getCountry() {
                return country;
            }
        }
    }
}

Antworten auf die Frage(2)

Ihre Antwort auf die Frage