android-intent - studio - parcelable android example
cómo poner y obtener la intención de la lista de matriz parcelable (1)
no está pasando la lista de arreglos como parcelable. Necesita personalizar el modelo (LatLong) utilizado para implementar Parcelable. Pruebe el siguiente código.
LatLong.java
public class LatLong implements Parcelable {
int lat, long;
public int LatLong (int lat, int long) {
this.lat = lat;
this.long = long;
}
public int setLat(int lat) {
this.lat = lat;
}
public int getLat() {
return lat;
}
public int setLong(int long) {
this.long = long;
}
public int getLong() {
return long;
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeInt(lat);
dest.writeInt(long);
}
public static final Creator<LatLong> CREATOR = new Creator<LatLong>() {
@Override
public LatLong createFromParcel(Parcel source) {
return new LatLong(source);
}
@Override
public LatLong[] newArray(int size) {
return new LatLong[size];
}
};
}// LatLong Ends
Activity1.java
ArrayList<LatLng> zaznam = new ArrayList<LatLng>();
zaznam.add(new LatLng(66,55));
zaznam.add(new LatLng(44,77));
zaznam.add(new LatLng(11,99));
El siguiente código es importante. Pasando la lista como Parcelable.
Intent intent2 = new Intent(TrackerActivity.this, MakacMapa.class);
intent2.putParcelableArrayListExtra("Zaznam", (ArrayList<? extends Parcelable>) zaznam);
Activity2.java
Intent intent = new Intent();
ArrayList<LatLng> zaznam = getIntent().getParcelableArrayListExtra("Zaznam");
Espero que esto te ayudará.. !! coméntame si tienes alguna consulta.
Intento enviar este zaranamista de una actividad a la segunda y no funciona ...
primera actividad
ArrayList<LatLng> zaznam = new ArrayList<LatLng>();
zaznam.add(new LatLng(66,55));
zaznam.add(new LatLng(44,77));
zaznam.add(new LatLng(11,99));
Intent intent2 = new Intent(TrackerActivity.this, MakacMapa.class);
intent2.putParcelableArrayListExtra("Zaznam",zaznam);
Segunda actividad
Intent intent = new Intent();
ArrayList<LatLng> zaznam = intent.getParcelableArrayListExtra("Zaznam"); //and here it throws NullPointerExeption :/