Domanda

Qualcuno sa dove / quando questo metodo di un Parcelable si chiama?

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

E 'da sovrascritto. Ma devo considerare fare qualcosa di utile con esso?

È stato utile?

Soluzione

C'è una costante definita Parcelable chiamato CONTENTS_FILE_DESCRIPTOR che è destinato ad essere utilizzato in describeContents() per creare maschera di bit valore restituito.

Descrizione per CONTENTS_FILE_DESCRIPTOR nel API ref è:

  

maschere di bit per l'utilizzo con describeContents ():. Ogni bit rappresenta una sorta di oggetto considerato di avere il potenziale significato speciale quando schierò

che in realtà significa: se è necessario mettere oggetto FileDescriptor in Parcelable si dovrebbe / necessario specificare CONTENTS_FILE_DESCRIPTOR come valore di ritorno di describeContents (), vale a dire da " oggetto speciale " (nella descrizione di describeContents()) hanno veramente significa: FileDescriptor.

Questa intero Parcelable la funzionalità sembra incompiuta (leggi: ha cattivo design). C'è un'altra cosa strana nella documentazione:

  

classi che implementano l'interfaccia Parcelable deve anche avere un campo statico chiamato CREATOR, che è un oggetto che implementa l'interfaccia Parcelable.Creator

Implementazione ereditarietà multipla da regole definite in forma leggibile? : -)

Sembra C ++ programmatore progettato Parceable e ad un certo punto si rese conto: Oh, accidenti, non c'è ereditarietà multipla in Java ...: -)

Altri suggerimenti

C'è solo due possibili valori, 0 o CONTENTS_FILE_DESCRIPTOR

se siete alla serializzazione POLO, questo valore deve essere sempre 0, il CONTENTS_FILE_DESCRIPTOR è riservata a ParcelFileDescriptor , che potrebbe serializzare un descrittore di file ( FD) nel sistema di * unix.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top