gpt4 book ai didi

android - 我应该实现 writeToParcel 方法吗?

转载 作者:行者123 更新时间:2023-11-30 03:20:59 27 4
gpt4 key购买 nike

我碰巧知道如果实现 Parcelable 的类 Info 有空的 writeToParcel() 方法,Bundle.putParcelableArrayList( )Bundle.getParcelableArrayList() 方法仍然适用于 ArrayList< Info>

public class Info implements Parcelable
{
public int row;
public int column;

public int describeContents()
{
return 0;
}

public void writeToParcel(Parcel out, int flags)
{
// Left empty!
}
}

所以问题是为什么?我什么时候真的应该按照 API 文档和书籍的指示实现 writeToParcel 方法?

最佳答案

Android Bundle 类不遵循 IPC 编码(marshal)处理期间遵循的相同协议(protocol)。通过反射,实现 Bundle 的类将简单地将 Parcelable 对象读写到它自己的内部映射中。因此,将使用您在 Parcelable 派生类中定义的任何属性。

相反,如果您使用的是 IPC 编码协议(protocol) - 例如将您的 Info 对象从一个 Activity 传递到另一个 Activity - 这是您需要实现特定的 writeToParcelable 方法和适当的构造函数的时候。

关于android - 我应该实现 writeToParcel 方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19132957/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com