Est-ce que quelqu'un sait où / quand cette méthode d'un Parcelable est appelée?
@Override
public int describeContents() {
return 0;
}
Il doit être annulé. Mais devrais-je envisager d'en faire quelque chose d'utile?
Est-ce que quelqu'un sait où / quand cette méthode d'un Parcelable est appelée?
@Override
public int describeContents() {
return 0;
}
Il doit être annulé. Mais devrais-je envisager d'en faire quelque chose d'utile?
Réponses:
Il existe une constante définie dans
Parcelable
calledCONTENTS_FILE_DESCRIPTOR
qui est destinée à être utiliséedescribeContents()
pour créer une valeur de retour de masque de bits.La description de
CONTENTS_FILE_DESCRIPTOR
la référence API est:Ce qui signifie vraiment: Si vous avez besoin de mettre l'
FileDescriptor
objet en Parcelable vous devriez / devez spécifierCONTENTS_FILE_DESCRIPTOR
que la valeur de retour de describeContents (), soit par « objet spécial » (dansdescribeContents()
la description) ils ont vraiment moyenne:FileDescriptor
.Toute cette fonctionnalité Parcelable semble inachevée (lire: a une mauvaise conception). Il y a une autre chose étrange dans la documentation:
Mettre en œuvre l'héritage multiple par des règles définies sous une forme lisible par l'homme? :-)
Il semble que le programmeur C ++ ait été conçu
Parceable
et à un moment donné, il s'est rendu compte: Oh, putain, il n'y a pas d'héritage multiple en Java ... :-)la source
describeContents()
devrait renvoyer 0 chaque fois qu'il "n'a rien de spécial" . Ce qui n'explique vraiment rien. Votre explication est tellement plus claire!Il n'y a que deux valeurs possibles, 0 ou CONTENTS_FILE_DESCRIPTOR
si vous sérialisez POLO, cette valeur doit toujours être 0, le CONTENTS_FILE_DESCRIPTOR est réservé à ParcelFileDescriptor , qui pourrait sérialiser un descripteur de fichier (FD) dans un système * unix.
la source