I have 2 serializable classes as follow:
@SuppressWarnings("serial")
public class Musicas implements Serializable {
private String musica;
private String link;
public Musicas(String musica, String link) {
super();
this.musica = musica;
this.link = link;
}
public String getMusica() {
return musica;
}
public void setMusica(String musica) {
this.musica = musica;
}
public String getLink() {
return link;
}
public void setLink(String link) {
this.link = link;
}
}
@SuppressWarnings("serial")
public class CDs implements Serializable {
private Drawable Picture;
private String Descricao;
private int idCD;
private ArrayList<Musicas> musicas;
public ArrayList<Musicas> getMusicas() {
return musicas;
}
public void setMusicas(ArrayList<Musicas> musicas) {
this.musicas = musicas;
}
public int getIdCD() {
return idCD;
}
public void setIdCD(int idCD) {
this.idCD = idCD;
}
public Drawable getPicture() {
return Picture;
}
public void setPicture(Drawable picture) {
Picture = picture;
}
public String getDescricao() {
return Descricao;
}
public void setDescricao(String descricao) {
Descricao = descricao;
}
public CDs(Drawable drawable, String descricao, int idcd) {
super();
Picture = drawable;
Descricao = descricao;
idCD = idcd;
}
public CDs(Drawable picture, String descricao, int idCD,
ArrayList<Musicas> musicas) {
this(picture, descricao, idCD);
setMusicas(musicas);
}
}
Where my CD Class have an ArrayList of Musics.
In my activity, I load the data from a Json to make a gallery of CDs
and selecting the CD i have the following code to pass the CD->Musics
to a new activity.
ArrayList<CDs> cds = new ArrayList<CDs>();
ArrayList<Musicas> musicas = new ArrayList<Musicas>();
JSONObject json = new JSONObject(sb.toString());
for (int i=1; i <=
json.getJSONObject("cds").length()-1; i++) {
JSONArray jarrayfilho =
json.getJSONObject("cds").getJSONArray(String.valueOf(i));
ArrayList<Musicas> musicas1 = new
ArrayList<Musicas>();
for(int j = 0; j <
jarrayfilho.length(); j++)
{
musicas1.add(new Musicas(
jarrayfilho.getJSONObject(j).getString("NOME").toString(),
jarrayfilho.getJSONObject(j).getString("LINK").toString()));
}
musicas = musicas1;
cds.add(new CDs(
ImageOperations(this,
jarrayfilho.getJSONObject(0).getString("IMG").toString()),
jarrayfilho.getJSONObject(0).getString("CD").toString(), i,
musicas
)
);
gallery.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1,
int arg2,
long arg3) {
Intent musicas = new Intent(arg1.getContext(),
MusicasActivity.class);
musicas.putExtra("cd", cds.get(arg2));
startActivity(musicas);
}
});
But when I call the click event, I get the error: Parcelable
encountered IOException writing serializable object
Can anyone guide me through this? I have tried everything I found on
internet but no clues. What I found that may solve is create a static
class/properties, but I don't want to reach this aproach since it's
not recomended for memory issues and all.
Best Regards.
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en