Ich versuche, eine Struktur von Arraylist zu einer Absicht wie folgt zu übergeben, In der aufrufenden Funktion verwende ich
%Vor%Und in der aufgerufenen Funktion
%Vor%Ich habe in beiden Klassen serialisierbare Tools angegeben, kann aber nicht mehr marshall .. run time error in der aufrufenden Funktion bei Startaktivität starten. Bitte helfen Sie weiter!
Edit 1: Stack-Trace:
%Vor%Meine Parliament Klasse hat 5 Strings mit ihren Setter und Gettern!
Ich habe in beiden Klassen serialisierbare Werkzeuge gegeben, bin aber nicht in der Lage zu marshall .. Laufzeitfehler in der aufrufenden Funktion bei Line Start Aktivität. Bitte helfen Sie weiter!
Da Sie Serializable verwenden, können Sie das jetzt nicht tun. Ich schlage vor, dass Sie Ihre ArrayList in eine Klasse umwandeln, zum Beispiel mit dem Namen DataWrapper . Diese Klasse muss auch Serializable implementieren und dann können Sie ArrayList über Intent übergeben.
Und eine Verwendung:
%Vor%und Abrufen:
%Vor%Sie können auch die Parcelable -Schnittstelle verwenden. Wenn Sie es verwenden, können Sie Ihre ArrayList mit diesen Methoden ablegen und abrufen:
%Vor%
Im Allgemeinen wird empfohlen, Parcelable-Schnittstelle zu verwenden, die direkt für die Übergabe von Objekten durch Aktivitäten bestimmt ist, aber ich benutze normalerweise Serializable-Schnittstelle und es macht immer einen Trick.
Seien Sie auch vorsichtig mit Tippfehlern. Sie setzen ein Objekt mit dem Schlüssel task
, und Sie sollten es mit demselben Schlüssel und nicht mit der Taskliste abrufen.
Die Implementierung von Serializable gilt als wenig performant, wenn Parcelable empfohlen wird.
Ich hatte genau die gleiche Frage und während ich mich immer noch mit der Parcelable
beschäftigte, fand ich heraus, dass die statischen Variablen keine so schlechte Idee für die Aufgabe sind.
Sie können einfach ein
erstellen %Vor% und benutze es von woanders über MyRefActivity.myObjects
Ich war mir nicht sicher, was öffentliche statische Variablen im Kontext einer Anwendung mit Aktivitäten implizieren. Wenn Sie auch Zweifel an diesem oder an Leistungsaspekten dieses Ansatzes haben, finden Sie unter:
Prost.
Machen Sie Ihre Objektklasse Parcelable später versuchen Sie
zu verwenden %Vor%Tags und Links android android-intent bundle extras