6 Stimmen

Arrays von Parcelables in ein Paket in Android schreiben

Ich versuche, ein Array von Objekten zu schreiben, die Folgendes implementieren Paketfähig in eine Parzelle mit writeParcelableArray .

Die Objekte, die ich zu schreiben versuche, sind (wie zu erwarten) definiert als:

public class Arrival implements Parcelable {
    /* All the right stuff in here... this class compiles and acts fine. */
}

Und ich versuche, sie in ein `Parcel' mit einzubauen:

@Override
public void writeToParcel(Parcel dest, int flags) {
    Arrival[] a;
    /* some stuff to populate "a" */
    dest.writeParcelableArray(a, 0);
}

Wenn Eclipse versucht, dies zu kompilieren, erhalte ich den Fehler:

Gebundene Fehlanpassung: Die generische Methode writeParcelableArray(T[], int) vom Typ Parcel ist nicht anwendbar für die Argumente (Arrival[], int). Die gefolgerte Typ Arrival ist kein gültiger Ersatz für den gebundenen Parameter < T erweitert Parcelable >

Ich verstehe diese Fehlermeldung überhaupt nicht. Parcelable ist eine Schnittstelle (keine Klasse) und kann daher nicht erweitert werden. Hat jemand eine Idee?

UPDATE : Ich habe grundsätzlich das gleiche Problem, wenn ich eine ArrayList de Parcelable s in eine Intent :

Intent i = new Intent();
i.putParcelableArrayListExtra("locations", (ArrayList<Location>) locations);

erbringt:

Die Methode putParcelableArrayListExtra(String, ArrayList< ? extends Parcelable >) im Typ Intent ist für die Argumente (String, ArrayList< Location >) nicht anwendbar

Der Grund dafür könnte sein Location war die Klasse, an der ich oben gearbeitet habe (die die Arrival s), aber das glaube ich nicht.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X