Comment étendre android classe qui implémente l'interface Parcelable?

Tout d'abord je dois vérifier cette réponse.

Ce que je suis en train de faire est d'étendre Location classe de l'appeler LocationPlus qui a certains
les variables membres. la fonctionnalité que je suis en train de réaliser est de passer de l'objet de LocationPlus classe à partir d'une activité à l'autre.

Voici mon CREATOR

public static final Parcelable.Creator<LocationPlus> CREATOR = new Parcelable.Creator<LocationPlus>() {
    @Override 
    public LocationPlus createFromParcel(Parcel source) {
        return new LocationPlus(source);
    }
    @Override 
    public LocationPlus[] newArray(int size) {
        return new LocationPlus[size];
    }
};

problème, je suis confronté est cette erreur

Implicit super constructor Location() is undefined. Must explicitly invoke another constructor

lorsqu'il essaie d'écrire constructeur

public LocationPlus(Parcel in) {

Quelqu'un dans un commentaire me demander de publier LocationPlus classe donc, ici, il est

public class LocationPlus extends Location{

    private int mBattery = -1;

    public LocationPlus(String locationName) {
        super(locationName);
    }

    public LocationPlus(Location location) {
        super(location);
    }

    public int getmBattery() {
        return mBattery;
    }

    public void setmBattery(int mBattery) {
        this.mBattery = mBattery;
    }
    @Override
    public int describeContents() {
        return 0;
    }

    public static final Parcelable.Creator<LocationPlus> CREATOR = new Parcelable.Creator<LocationPlus>() {
        @Override 
        public LocationPlus createFromParcel(Parcel source) {
            return new LocationPlus(source);
        }
        @Override 
        public LocationPlus[] newArray(int size) {
            return new LocationPlus[size];
        }
    };

    @Override
    public void writeToParcel(Parcel out, int flags) {
        super.writeToParcel(out, flags);
        out.writeInt(mBattery);
    }

    public LocationPlus(Parcel in) {
        mBattery =in.readInt();
    }
}
Publier vos LocationPlus classe
code posté.
Juste pour être curieux, ce qui veut dire que si vous mettez un constructeur vide dans LocationPlus (essayez la fois vide et avec un super appel): public LocationPlus() { super() }. Je n'ai pas Java sur cette machine, alors malheureusement je ne peux pas l'essayer. Emplacement constructeur peuvent être protégés.
Malheureusement, le problème est que la classe parent n'a pas un constructeur vide
Ah.., qu'en est super( ce ) dans LocationPlus( Colis )?

OriginalL'auteur Akram | 2013-07-18