Übergeben benutzerdefinierter Objekte zwischen Aktivitäten?

7

Wie übergebe ich benutzerdefinierte Objekte zwischen Aktivitäten in Android? Ich kenne Bundles, aber ich sehe darin keine Funktionalität. Könnte mir jemand ein schönes Beispiel dafür zeigen?

    
Skizit 11.04.2011, 12:17
quelle

4 Antworten

13

Sie sollten die Parcelable-Schnittstelle implementieren.

Link zur Dokumentation .

    
Igor Filippov 11.04.2011, 12:20
quelle
5

Mit Parcelable Schnittstelle können Sie benutzerdefinierte Java-Objekte in die Absicht übergeben.

1) Implementieren Sie die Parcelable-Schnittstelle zu Ihrer Klasse wie folgt:

%Vor%

2) Übergeben Sie das Parcelable-Objekt in die Absicht wie folgt:

%Vor%

3) Holen Sie die Daten in die neue Aktivität [Abc] wie:

%Vor%     
Arun kumar 12.10.2015 05:17
quelle
1

a Parcel MÖCHTE dein Problem lösen.

denke an ein Parcel als ein "Array" (metaphorisch) primitiver Typen (long, String, Double, int usw.). Wenn Ihre benutzerdefinierte Klasse nur aus primitiven Typen besteht, ändern Sie Ihre Klassendeklaration, einschließlich implements Parcelable .

Sie können ein parzellierbares Objekt problemlos durch eine Absicht weiterleiten (so wie Sie ein primitiv typisiertes Objekt senden würden). In diesem Fall habe ich eine parcelable benutzerdefinierte Klasse namens FarmData (bestehend aus longs, strings und doubles), die ich von einer Aktivität zu einer anderen über intent übertrage.

%Vor%

aber das Abrufen kann schwierig sein. Die Aktivität, die die Absicht erhält, prüft, ob ein Bündel von Extras mit der Absicht gesendet wurde.

%Vor%     
tony gil 20.03.2013 21:21
quelle
0

Wenn ein Objekt PasswordState angegeben wird, das Serializable im gesamten Objektbaum implementiert, können Sie dieses Objekt an Anthere-Aktivität übergeben:

%Vor%     
JAL 11.04.2011 20:10
quelle

Tags und Links