J'essaye de rendre la tâche parcelable pour la mettre dans un paquet pour passer de mon service à l'activité mais j'ai un peu de mal à travailler avec l'ArrayList de mon type personnalisé.Erreur de classe Make Parcelable
Tâche:
@Override
public int describeContents() {
// TODO Auto-generated method stub
return 0;
}
@Override
public void writeToParcel(Parcel prc, int arg1) {
// TODO Auto-generated method stub
prc.writeInt(id);
prc.writeString(timeStamp_string);
prc.writeString(timeToComplete_string);
prc.writeTypedArray(resources.toArray(), PARCELABLE_WRITE_RETURN_VALUE);
}
ressources:
@Override
public int describeContents() {
// TODO Auto-generated method stub
return 0;
}
@Override
public void writeToParcel(Parcel prc, int flags) {
// TODO Auto-generated method stub
prc.writeInt(id);
prc.writeString(timeStamp_string);
prc.writeString(resourceType);
prc.writeString(dataType);
prc.writeString(value);
prc.writeInt(taskId);
}
Il me donne une erreur sur la fonction prc.writeTypedArray intérieur tâche:
Bound mismatch: The generic method writeTypedArray(T[], int) of type Parcel is not applicable for the arguments (Object[], int). The inferred type Object is not a valid substitute for the bounded parameter <T extends Parcelable>
Si des ressources met actuellement en œuvre Parcelable je Je ne vois pas où est le problème.
Éditer: JE CROIS QUE JE FIXE CETTE PARTIE. J'ai utilisé .writeParcelableList() INSTEAD. QUELQU'UN PEUT CONFIRMER QUE CELA PEUT FONCTIONNER? LA QUESTION CI-DESSOUS EST TOUJOURS VALIDE.
Lorsque la tâche est lue à partir de l'intention par l'activité, j'ai besoin de faire un peu de calcul pour remplir d'autres membres de données. Quelle fonction est appelée là que je peux implémenter pour faire le calcul? Est-ce readFromParcel (...) ou le constructeur qui prend en paramètre Parcelable?
Merci