繁体   English   中英

我应该实现writeToParcel方法吗?

[英]Should I implement writeToParcel method?

我碰巧知道如果我的班级信息 ,它实现Parcelable具有空writeToParcel()方法,Bundle.putParcelableArrayList()Bundle.getParcelableArrayList()方法仍然在ArrayList的<信息>工作。

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封送处理期间遵循的相同协议。 通过反射,实现Bundle的类将简单地将Parcelable对象读写到其自己的内部映射中。 因此,将使用您在Parcelable派生类中定义的任何属性。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM