budu
04/01/12, 21:45:26
Buenas mi pregunta es que estoy haciendo una aplicacion de futbol , mas o menos juego y tengo una duda.
Tengo una clase principal que son los jugadores que es un objeto Jugador, estos Jugadores estan en otro Objeto que es un club.
Vale hasta aqui bien, pero tengo otra Classe llamava ArryClubs que es un array donde contego todo los clubs, madrid,barça,etc... y quiero pasarla de una activity a otra, se pasar un arrya de objeto de una actividad a otra pero no se como pasar una array de objetos que esta contiene a su vez otro array de objetos.
Aqui el codigo del array de clubs, que quiero pasar entre activitys.
package pasar.com;
import java.util.ArrayList;
import android.os.Parcel;
import android.os.Parcelable;
public class ArrayClub extends ArrayList<Club> implements Parcelable {
private Club clubs;
public ArrayClub()
{
}
public void writeToParcel(Parcel club, int flags)
{
int size = this.size();
club.writeInt(size);
for (int i = 0; i < size; i++)
{
Club oc = this.get(i);
club.writeString(oc.getNomClub());
club.writeString(oc.getNomEntrenador());
for(int j=0; j<size; j++)
{
club.writeString(oc.get(j).getNom());
}
}
}
public ArrayClub(Parcel in)
{
readfromParcel(in);
}
private void readfromParcel(Parcel in)
{
this.clear();
int size = in.readInt();
for (int i = 0; i < size; i++)
{
//el orden de los atributos SI importa
Club oClub = new Club();
oClub.setNomClub(in.readString());
oClub.setNomEntrenador(in.readString());
/// Aqui me da error porque me falta poner el
// array de objeto de jugadores y no se como ponerlo
}
public static final Parcelable.Creator CREATOR = new Parcelable.Creator()
{
public ArrayClub createFromParcel(Parcel in)
{
return new ArrayClub(in);
}
public Object[] newArray(int arg0)
{
return null;
}
};
public int describeContents()
{
return 0;
}
}
Codigo de 1 club.
package pasar.com;
import java.util.ArrayList;
public class Club extends ArrayList<Jugador> {
public String nomEntrenador;
public String nomClub;
public Club(String nomEntrenador, String nomClub,ArrayList<Jugador> vJugador
) {
super();
this.nomEntrenador = nomEntrenador;
this.nomClub = nomClub;
ArrayList<Jugador> g = new ArrayList ();
vJugador = g;
}
public Club()
{
}
public String getNomEntrenador() {
return nomEntrenador;
}
public String getNomClub() {
return nomClub;
}
public void setNomEntrenador(String nomEntrenador) {
this.nomEntrenador = nomEntrenador;
}
public void setNomClub(String nomClub) {
this.nomClub = nomClub;
}
}
Y aqui la clase que contiene 1 jugador
package pasar.com;
public class Jugador {
private String nom;
private String nacionalitat;
private String posicio;
private int pase;
public Jugador ()
{
}
public Jugador(String nom) {
super();
this.nom = nom;
}
public void setNom(String nom) {
this.nom = nom;
}
public String getNom() {
return nom;
}
}
Tengo una clase principal que son los jugadores que es un objeto Jugador, estos Jugadores estan en otro Objeto que es un club.
Vale hasta aqui bien, pero tengo otra Classe llamava ArryClubs que es un array donde contego todo los clubs, madrid,barça,etc... y quiero pasarla de una activity a otra, se pasar un arrya de objeto de una actividad a otra pero no se como pasar una array de objetos que esta contiene a su vez otro array de objetos.
Aqui el codigo del array de clubs, que quiero pasar entre activitys.
package pasar.com;
import java.util.ArrayList;
import android.os.Parcel;
import android.os.Parcelable;
public class ArrayClub extends ArrayList<Club> implements Parcelable {
private Club clubs;
public ArrayClub()
{
}
public void writeToParcel(Parcel club, int flags)
{
int size = this.size();
club.writeInt(size);
for (int i = 0; i < size; i++)
{
Club oc = this.get(i);
club.writeString(oc.getNomClub());
club.writeString(oc.getNomEntrenador());
for(int j=0; j<size; j++)
{
club.writeString(oc.get(j).getNom());
}
}
}
public ArrayClub(Parcel in)
{
readfromParcel(in);
}
private void readfromParcel(Parcel in)
{
this.clear();
int size = in.readInt();
for (int i = 0; i < size; i++)
{
//el orden de los atributos SI importa
Club oClub = new Club();
oClub.setNomClub(in.readString());
oClub.setNomEntrenador(in.readString());
/// Aqui me da error porque me falta poner el
// array de objeto de jugadores y no se como ponerlo
}
public static final Parcelable.Creator CREATOR = new Parcelable.Creator()
{
public ArrayClub createFromParcel(Parcel in)
{
return new ArrayClub(in);
}
public Object[] newArray(int arg0)
{
return null;
}
};
public int describeContents()
{
return 0;
}
}
Codigo de 1 club.
package pasar.com;
import java.util.ArrayList;
public class Club extends ArrayList<Jugador> {
public String nomEntrenador;
public String nomClub;
public Club(String nomEntrenador, String nomClub,ArrayList<Jugador> vJugador
) {
super();
this.nomEntrenador = nomEntrenador;
this.nomClub = nomClub;
ArrayList<Jugador> g = new ArrayList ();
vJugador = g;
}
public Club()
{
}
public String getNomEntrenador() {
return nomEntrenador;
}
public String getNomClub() {
return nomClub;
}
public void setNomEntrenador(String nomEntrenador) {
this.nomEntrenador = nomEntrenador;
}
public void setNomClub(String nomClub) {
this.nomClub = nomClub;
}
}
Y aqui la clase que contiene 1 jugador
package pasar.com;
public class Jugador {
private String nom;
private String nacionalitat;
private String posicio;
private int pase;
public Jugador ()
{
}
public Jugador(String nom) {
super();
this.nom = nom;
}
public void setNom(String nom) {
this.nom = nom;
}
public String getNom() {
return nom;
}
}