Foros del Web » Programando para Internet » Android »

A vueltas con los arrays

Estas en el tema de A vueltas con los arrays en el foro de Android en Foros del Web. Hola de nuevo. Tengo dudas para crear un array que voy a mostrar en un ListView. Para empezar, mi ListView tiene un título y un ...
  #1 (permalink)  
Antiguo 22/08/2013, 07:59
 
Fecha de Ingreso: junio-2011
Ubicación: Asturias
Mensajes: 228
Antigüedad: 13 años, 6 meses
Puntos: 14
A vueltas con los arrays

Hola de nuevo. Tengo dudas para crear un array que voy a mostrar en un ListView.
Para empezar, mi ListView tiene un título y un subtitulo, que es lo que necesito meter en el array.

A la hora de crear el array con datos estáticos, lo creo así.
private Titular[] datos =
new Titular[]{
new Titular("Título 1", "Subtítulo largo 1"),
new Titular("Título 2", "Subtítulo largo 2"),
new Titular("Título 3", "Subtítulo largo 3"),
new Titular("Título 4", "Subtítulo largo 4"),
new Titular("Título 5", "Subtítulo largo 5")};

Y luego lo asigno al ListView, pero el problema viene cuando quiero asignar los datos de forma dinámica.
¿Cómo lo podría hacer?
Gracias
  #2 (permalink)  
Antiguo 22/08/2013, 12:42
Avatar de jomaruro
Colaborador
 
Fecha de Ingreso: junio-2002
Ubicación: Naboo
Mensajes: 5.442
Antigüedad: 22 años, 5 meses
Puntos: 361
Respuesta: A vueltas con los arrays

Hola:

Tal y como lo haces es complicado, al definir un array debes darle un tamaño y tendrías problemas si el array se te queda corto.

Lo más cómodo sería que utilizaras un ArrayList (clase ArrayList).

Vamos a partir de que los datos del ArrayList los tomas de una base de datos, que es algo que no explicas pero que yo supongo si el array que estabas usando es dinámico. Primero, defines la clase Titular, por ejemplo:

Código Java:
Ver original
  1. public class Titular {
  2.     private String titulo = "";
  3.     private String subtitulo = "";
  4.  
  5.     ...
  6.     // por supuesto, con sus correspondientes getter y setter.
  7.     ...
  8. }

Después, donde necesites utilizar el ArrayList lo creas:

Código Java:
Ver original
  1. ArrayList<Titular> lis_tit = new ArrayList<Titular>();

Suponemos ahora que has obtenido los datos de la base de datos en un Cursor, al que he denominado cursor, debemos recorrerlo para poder añadir los datos al ArrayList, esto lo debes meter dentro de un bucle while:

Código Java:
Ver original
  1. Titular tit = new Titular();
  2. tit.setTitulo(cursor.getString(0));
  3. tit.setSubtitulo(cursor.getString(1));
  4. lis_tit.add(tit);

Ahora ya tienes creado tu ArrayList con los datos que necesites y puedes asociarlo al ListView.

Saludos.

  #3 (permalink)  
Antiguo 22/08/2013, 13:37
 
Fecha de Ingreso: junio-2011
Ubicación: Asturias
Mensajes: 228
Antigüedad: 13 años, 6 meses
Puntos: 14
Respuesta: A vueltas con los arrays

El serTitulo y setSubtitulo como los crearía? Tengo los get, pero no los set.
Cuando pueda lo pruebo todo y os cuento.
Gracias

Edito:
El primer error que me da es este

The constructor Titular() is undefined

¿Dónde puede estar el error?

Última edición por javierflti; 23/08/2013 a las 02:57
  #4 (permalink)  
Antiguo 23/08/2013, 03:19
Avatar de jomaruro
Colaborador
 
Fecha de Ingreso: junio-2002
Ubicación: Naboo
Mensajes: 5.442
Antigüedad: 22 años, 5 meses
Puntos: 361
Respuesta: A vueltas con los arrays

Hola:

Cita:
Iniciado por javierflti Ver Mensaje
El serTitulo y setSubtitulo como los crearía? Tengo los get, pero no los set.
Si has sabido crear los get deberías saber crear los set.

Cita:
Iniciado por javierflti Ver Mensaje
El primer error que me da es este

The constructor Titular() is undefined
En que no has creado el constructor de la clase Titular.

Visto lo visto, creo que deberías empezar por algún tutorial básico de Java. Por ejemplo : Curso de Java.

Saludos.


Etiquetas: arrays, listview
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:08.