Parcelable donde / cuando se describeContents () usado?
¿Alguien sabe dónde y cuándo se llama este método de un Parcelable ?
@Override public int describeContents() { return 0; }
Tiene que ser anulada. ¿Pero debo considerar hacer algo útil con él?
- Android parcelable referenciando otra dependencia circular parcelable
- ¿Cómo usar Parcelable en fragmento para obtener datos?
- Número mágico defectuoso para Bundle en Android
- Anidado Parcelling: RuntimeException - Unmarshalling tipo desconocido código 3211319 en el desplazamiento 440
- ¿Cómo arreglar Unmarshalling código de tipo desconocido XXX en el desplazamiento YYY en Android?
- Fragmentos de Android que conservan datos
- Android: causas unparceling fuera de la excepción de memoria. ¿Cómo inspeccionar objetos?
- ¿Un objeto serializable siempre se serializa cuando se pone en un paquete?
- Casting objetos a subclases de una superclase Parcelable?
- Escribir una subclase de Parcelable a otra parcela
- RealmObject AND Parcelable
- ¿Cómo hacer una interfaz parcelable?
- Código de tipo desconocido del paquete
Hay una constante definida en Parcelable
llamada CONTENTS_FILE_DESCRIPTOR
que está destinada a ser utilizada en describeContents()
para crear valor de retorno de máscara de bits.
La descripción de CONTENTS_FILE_DESCRIPTOR
en la API ref es la siguiente:
Máscaras de bits para el uso de describeContents (): cada bit representa un tipo de objeto que se considera tener un significado especial potencial cuando se ordena.
Lo que realmente significa: Si necesitas poner el objeto FileDescriptor
en Parcelable, deberías especificar CONTENTS_FILE_DESCRIPTOR
como valor devuelto de describeContents (), es decir, por " objeto especial " (en la describeContents()
de describeContents()
) significa: FileDescriptor
.
Toda esta funcionalidad Parcelable parece inacabada (lee: tiene un mal diseño). Hay otra cosa extraña en los documentos:
Las clases que implementan la interfaz Parcelable también deben tener un campo estático llamado CREATOR, que es un objeto que implementa la interfaz Parcelable.Creator
Implementación de herencia múltiple por reglas definidas en forma legible por humanos? Todos los derechos reservados
Parece que C ++ programador diseñado Parceable
y en algún momento se dio cuenta: Oh, maldita sea, no hay herencia múltiple en Java … 🙂