[我们需要此方法,因为它会覆盖方法,并且如果您不删除此方法并手动创建setter和getter,则在使用getter和setter的帮助下它将自动运行
我正在使用可分包实现,因为通过putParcelableArrayListExtra
传递ArrayList更容易,但是protected Song(Parcel in) and public void writeToParcel(Parcel dest, int flags)
的目的是什么>
我的包裹类
public class Song implements Parcelable { private long id = 0; private String data = ""; private String title = ""; private String artist = ""; public Song(){ } protected Song(Parcel in) { id = in.readLong(); data = in.readString(); title = in.readString(); artist = in.readString(); } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeLong(id); dest.writeString(data); dest.writeString(title); dest.writeString(artist); } public void setId(long songId){ this.id = songId; } public long getId(){ return id; } public void setData(String data) { this.data = data; } public String getData(){return data;} //Optional meta data public void setTitle(String title){ this.title = title; } public String getTitle() { return title; } public void setArtist(String artist){ this.artist = artist; } public String getArtist() { return artist; }
这是什么用途,如果我没有将任何参数传递给Song()构造函数,还是可以将其保留为空,我还需要添加它吗?
protected Song(Parcel in) {
id = in.readLong();
data = in.readString();
title = in.readString();
artist = in.readString();
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeLong(id);
dest.writeString(data);
dest.writeString(title);
dest.writeString(artist);
}
我正在使用可拆分实现,因为使用putParcelableArrayListExtra传递ArrayList更容易,但是受保护的Song(Parcel in)和public void writeToParcel(...)的目的是什么?
[我们需要此方法,因为它会覆盖方法,并且如果您不删除此方法并手动创建setter和getter,则在使用getter和setter的帮助下它将自动运行
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeLong(id);
dest.writeString(data);
dest.writeString(title);
dest.writeString(artist);
}
[我们需要此方法,因为它会覆盖方法,并且如果您不删除此方法并手动创建setter和getter,则在使用getter和setter的帮助下它将自动运行