Android: Passer de la Liste<GeoPoint> pour une autre Activité
J'ai une liste de tableaux de type GeoPoint.
private List<GeoPoint> points = new ArrayList<GeoPoint>();
Je veux passer points
à une autre Activité et de restauration des données de cette activité. Comment dois-je faire? Je sais que je dois utiliser le parcelable
mais j'ai cherché, mais ne pouvait pas trouver un moyen de passer ArrayLists.
- Vous devez utiliser un service ou d'un membre de classe statique. Grande transmission de données des objets via des suppléments n'est pas une bonne idée.
- définir les grandes extras 🙂 GeoPoint est un objet avec seulement deux ints. Mais vous avez raison. Si c'est trop gros, que c'est une mauvaise idée. Mais une liste de geopoints est d'accord je pense.
- les membres de classe statiques sont des variables globales et les variables globales sont mauvais, mmmkay?
- Réussissant supplémentaire ou de l'utilisation de static var. Mauvaise conception ou une mauvaise performance? Je suis en train de penser...
Vous devez vous connecter pour publier un commentaire.
Cette fonction vous aidera à: http://developer.android.com/reference/android/content/Intent.html#putParcelableArrayListExtra(java.lang.String, java.util.ArrayList<? s'étend android.os.Parcelable>)
Mais le problème, c'est que GeoPoint n'est pas Parcelable. Eh bien, vous pouvez faire une solution de contournement:
1) Créer une classe qui implémente Parcelable:
2) lors de l'envoi à l'autre activité (points de votre Liste<GeoPoint>:
3) dans le appelé activité:
code devrait fonctionner, mais n'a pas été testé.
MyParcelable
dans ce code?int long
dans ParcelableGeoPoint(Colis) 🙂 Merci encore.Parcelable.Creator is a raw type. References to generic type Parcelable.Creator<T> should be parameterized
?? Puis-je l'ignorer?Type mismatch: cannot convert from element type Object to MapsActivity
List<String> names
?