カスタム オブジェクトの ArrayList を次のアクティビティに送信しようとしていますが、うまくいきません。私は一日中 Parcelable を実装しようとしてきましたが、まったく運がありませんでした。SO についてここで調査を行いましたが、まだエラーが発生しています:Cannot convert Parceable[] to ArraList<Song>
これはオブジェクトを分割するためのコードです:
// Parcelling part
public Song(Parcel in){
this._id = in.readInt();
this.name = in.readString();
this.path = in.readString();
this.artistId = in.readInt();
this.albumId = in.readInt();
}
@Override
public int describeContents(){
return 0;
}
public static final Parcelable.Creator<Song> CREATOR = new Parcelable.Creator<Song>() {
public Song createFromParcel(Parcel in) {
return new Song(in);
}
public Song[] newArray(int size) {
return new Song[size];
}
};
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeInt(_id);
dest.writeString(name);
dest.writeString(path);
dest.writeInt(artistId);
dest.writeInt(albumId);
}
私の最初の活動では、私はただ:
ArrayList<Song> songs = db.selectAllSongs();
playerActivity.putParcelableArrayListExtra("songs", songs);
そして、私の2番目の活動では、私はただ:
ArrayList<Song> songs = getIntent().getParcelableArrayExtra("songs");
Parceable を実装しているときにエラーが発生する理由がわかりません。少しガイドが必要です。前もって感謝します。