Passage d'une Liste à partir d'une Activité à l'autre
Comment passer des Collections comme ArrayList
, etc à partir d'un Activity
à l'autre que nous avons utilisé pour passer Strings
, int
avec l'aide de putExtra méthode d'Intention?
Quelqu'un peut-il m'aider car je veux passer un List<String>
d'un Activity
à l'autre?
Merci de faire une recherche avant de poster; stackoverflow.com/...
Veuillez consulter ce Blog. Cela Peut Vous Aider
Veuillez consulter ce Blog. Cela Peut Vous Aider
OriginalL'auteur Name is Nilay | 2012-07-05
Vous devez vous connecter pour publier un commentaire.
Vous pouvez passer un
ArrayList<E>
de la même façon, si leE
type estSerializable
.Que vous appelez le
putExtra (String name, Serializable value)
deIntent
pour stocker, etgetSerializableExtra (String name)
pour la recherche.Exemple:
Dans l'autre Activité:
Veuillez noter que la sérialisation peut provoquer des problèmes de performances: il faut du temps, et beaucoup d'objets qui seront attribuées (et donc, doivent être des ordures collectées).
Merci homme...qui a aidé !!
Une chose à noter est,
List
interface ne s'étend pasSerializable
donc, si votre collection est déclaré par l'interface, vous devez la convertir en une mise en œuvre spécifique de la première.OriginalL'auteur nhaarman
Vous devez d'abord créer un Parcelable classe d'objet, voir l'exemple
Et la liste
Code de l'Appel de l'activité
Code appelé activité
Il est préférable de l'utiliser serializable puis celui-ci, Mais Son bon pour quelqu'un. +1
Pourriez-vous expliquer pourquoi l'utilisation de la sérialisation est le meilleur? J'ai pensé Parcelable est mieux que serializable pour la performance.
Comme il fonctionne sur la base d'ordre que les valeurs sont données dans
writeToParcel
. Est-il un mécanisme pour obtenir des valeurs deParcel
objet sur la touche?. Par exemple, si dans la classe, nous avons plusieurs champs de type chaîne alors comment pouvons-nous savoir qui de la chaîne que nous obtenons à partir deParcel
dansStudent(Parcel in)
.En utilisant la Sérialisation permet une simplification de la mise en œuvre, mais à l'aide de Parcelable offre de meilleures performances. Lequel est le mieux dépend des circonstances: si l'exécution Sérialisable fournit dans votre cas d'utilisation est adéquate, alors vous devriez préférer l'approche la plus simple. Mais si à l'aide de Serializable est trop lent à votre cas d'utilisation, vous devez essayer d'utiliser le Parcelable à la place.
OriginalL'auteur Shahin ShamS
utilisation
putExtra
pour passer de la valeur à une intention. utilisationgetSerializableExtra
méthode pour récupérer les donnéescomme ce
Activité :
Activité B:
En revenant à la B de l'Activité que vous avez à transmettre des données De B à A.. ou de faire ce tableau en tant que réseau mondial et de la mise à jour de B activité .
Dans mon cas, j'ai l'option d'aller C activité. Dans ce cas, comment puis-je mettre à jour la liste de tableaux?
Ensuite, faire comme Globale dans la classe d'Application... et de mettre à jour et utiliser où vous voulez utiliser
Merci pour vos conseils. Si possible me donner ur mail id, je vais demander des doutes par e-mail.
OriginalL'auteur RajaReddy PolamReddy
J'ai essayé toutes les techniques proposées, mais aucune n'a fonctionné et a arrêté mon app de travail et puis j'ai finalement succedded. Voici comment je l'ai fait...
En activité principale, je l'ai fait:
Pour obtenir les données de la nouvelle Activité:
J'espère que cela va aider quelqu'un...
OriginalL'auteur niky_d
Passer ArrayList d'une activité à une autre activité, on devrait inclure
avant de commencer l'activité.Et pour obtenir la liste de tableaux dans une autre activité comprennent
vous serez en mesure de passer ArrayList par ce biais.Espérons que ce sera utile pour vous.
OriginalL'auteur AkashG