Prima di tutto ho il controllo this answer.Come estendere la classe Android che implementa l'interfaccia Parcelable?
Quello che sto cercando di fare è estendere la classe Location
chiamandola LocationPlus
che ha alcune variabili membro . la funzionalità che sto cercando di ottenere è passare l'oggetto della classe LocationPlus
da un'attività all'altra.
Ecco il mio problema 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];
}
};
sto affrontando è questo errore
Implicit super constructor Location() is undefined. Must explicitly invoke another constructor
quando si cerca di scrivere costruttore
public LocationPlus(Parcel in) {
Qualcuno in commento mi chiedono di inviare classe LocationPlus quindi qui è
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();
}
}
Inserisci LocationPlus classe –
codice @Hasslarn postato. – Akram
Solo per essere curiosi, cosa dice se metti un costruttore vuoto in LocationPlus (prova sia vuoto che super): public LocationPlus() {super()}. Non ho Java su questa macchina, quindi sfortunatamente non posso provarlo. Il costruttore di posizioni potrebbe essere protetto. –