105 votes

Partcelable où / quand est-ce que describeContents () est utilisé?

Est-ce que quelqu'un sait où / quand cette méthode de Parcelable est appelée?

  @Override
 public int describeContents() {
    return 0;
 }
 

Cela doit être annulé. Mais devrais-je envisager de faire quelque chose d'utile avec?

194voto

Ogre_BGR Points 4799

Il y a une constante définie en Parceable appelés CONTENTS_FILE_DESCRIPTOR qui est ment pour être utilisés en describeContents() pour créer le masque de bits de valeur de retour.

Description CONTENTS_FILE_DESCRIPTOR dans l' API ref est:

Des masques de bits pour une utilisation avec describeContents(): chaque bit représente un type d'objet considéré comme ayant le potentiel de signification particulière lors de la muselé.

Ce qui veut vraiment dire: Si vous avez besoin de mettre FileDescriptor objet dans Parceable vous devriez/devez spécifier CONTENTS_FILE_DESCRIPTOR comme valeur de retour de describeContents(), c'est à dire par "objet" (en describeContents()'description) signifie vraiment: FileDescriptor.

Toute cette Parceable fonctionnalité laisse un goût d'inachevé (lire: a une mauvaise conception). Il y a une autre chose étrange dans les docs:

Les Classes qui implémentent l'interface Parcelable doit également disposer d'un champ statique appelé CRÉATEUR, qui est un objet de la mise en œuvre de la Parcelable.Créateur de l'interface

La mise en œuvre de l'héritage multiple par les règles définies dans forme lisible par l'homme? :-)

Il semble que programmeur C++ conçu Parceable et à un certain moment, il a réalisé: Oh, merde, il n'y a pas d'héritage multiple en Java... :-)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X