问题描述
有谁知道在哪里/当Parcelable这种方法被称为?
Does anyone know where/when this method of a Parcelable is called?
@Override
public int describeContents() {
return 0;
}
它已被覆盖。但我应该考虑做一些有用的东西呢?
It has to be overriden. But should I consider doing something useful with it?
推荐答案
有一个在 Parcelable
定义的常量名为 CONTENTS_FILE_DESCRIPTOR
这意味着在 describeContents使用()
以创建位掩码返回值。
There is a constant defined in Parcelable
called CONTENTS_FILE_DESCRIPTOR
which is meant to be used in describeContents()
to create bitmask return value.
说明为 CONTENTS_FILE_DESCRIPTOR
在 API参考是:
位掩码与describeContents()使用:每一位再presents一种被认为有整理潜力时具有特殊意义的对象
这实际上意味着:如果你需要把的FileDescriptor
对象为Parcelable你应该/必须指定 CONTENTS_FILE_DESCRIPTOR
作为回报的describeContents(),即通过价值特殊对象(在 describeContents()
的说明)他们真正的意思是:的FileDescriptor
。
Which really means: If you need to put FileDescriptor
object into Parcelable you should/must specify CONTENTS_FILE_DESCRIPTOR
as return value of describeContents(), i.e. by "special object" (in describeContents()
's description) they really mean: FileDescriptor
.
这整个的 Parcelable 功能查看未完成(读:有坏的设计)。还有另外一个奇怪的事情在docs:
This whole Parcelable functionality looks unfinished (read: has bad design). There is one other strange thing in the docs:
类实现Parcelable接口还必须有一个静态的,名为CREATOR,这是实现Parcelable.Creator接口的对象
实施细则由人类可读的形式定义的多重继承? : - )
Implementing multiple inheritance by rules defined in human readable form? :-)
这似乎是C ++程序员设计的 Parceable
并在某些时候,他意识到:哦,该死的,没有多重继承在Java中...: - )
It seems like C++ programmer designed Parceable
and at some point he realized: Oh, damn, there is no multiple inheritance in Java... :-)
这篇关于Parcelable其中/当describeContents()使用?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!