J'essaie donc de transmettre une instance d'une classe que je crée par intention à une nouvelle activité.Exception non sérialisable sur la classe personnalisée - Android
public class Room implements Serializable{
/**
*
*/
private static final long serialVersionUID = 6857044522819206055L;
int roomID;
String roomName;
ArrayList<MarkerHolder> markerHolders = new ArrayList<MarkerHolder>();
public int getRoomID() {
return roomID;
}
public void setRoomID(int roomID) {
this.roomID = roomID;
}
public String getRoomName() {
return roomName;
}
public void setRoomName(String roomName) {
this.roomName = roomName;
}
public ArrayList<MarkerHolder> getMarkerHolders() {
return markerHolders;
}
public void setMarkerHolders(ArrayList<MarkerHolder> markerHolders) {
this.markerHolders = markerHolders;
}
}
public class MarkerHolder implements Serializable{
/**
*
*/
private static final long serialVersionUID = -7334724625702415322L;
String marker;
String markerTag;
public String getMarker() {
return marker;
}
public void setMarker(String marker) {
this.marker = marker;
}
public String getMarkerTag() {
return markerTag;
}
public void setMarkerTag(String markerTag) {
this.markerTag = markerTag;
}
}
Et j'essaie de passer par cette classe
Intent svc = new Intent(this, RoomUploader.class);
svc.putExtra("room", room);
try{
startService(svc);
}catch (Exception e){
e.printStackTrace();
}
et je continue à obtenir une exception non Serializable que je ne peux pas comprendre. Les deux classes implémentent serializable et ont des identifiants de série. Les variables membres sont juste des chaînes, ints, et un tableau d'une autre classe qui est aussi sérialisable et ne contient que des chaînes. Autant que je sache, toutes ces choses devraient être sérialisables, quoi d'autre pourrait causer cette erreur? Merci d'avance.
Veuillez ajouter la tracktrace. Et ArrayList est sérialisable. –