Parcelable vs Serializable - 适用于没有任何字段的类

时间:2014-10-22 06:38:34

标签: java android serialization parcelable

通常我必须传递给片段(或 activity )一些 interface 实例,而不需要任何内部数据。要将其传递给片段(或活动),我应该将其写为Bundle(或IntentParcelable或{ {1}}。我从这两个选项中选择了什么?

示例:

Serializable

如果我选择public class SomeFragment { public static interface Helper { View prepareView(SomeFragment fragment, LayoutInflater inflater); // etc. } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return extractHelperFromArguments().prepareView(this, inflater); } public static SomeFragment newInstance(Helper helper) { SomeFragment fragment = new SomeFragment(); // // Bundle args = new Bundle(); // // args.putParcelable(KEY_HELPER, (Parcelable) helper); // or // args.putSerializable(KEY_HELPER, (Serializable) helper); // ? // // fragment.setArguments(args) return fragment; } } ,那么我必须声明静态字段Parcelable并清空方法CREATORdescribeContents(),因为该类没有没有田地。。

如果我选择writeToParcel(),那么我不需要做任何事情。

抱歉我的英文

1 个答案:

答案 0 :(得分:2)

嗨,这是一个很好的链接,阅读本文后,你将不再有关于Parcelable vs Serializable的问题。

link

enter image description here