PDA

Ver la Versión Completa : Problema sql y Listview


serlioner
19/04/14, 22:16:52
Hola, estoy tratando de personalizar un Listview para mostrar una base de datos, pero me da error, si pudieseis ayudarme me haríais un gran favor, estoy bastante mareado con el asunto, dejo el código de mi adapter:
public class AdaptadorCursorLugares extends CursorAdapter{
private LayoutInflater inflador;
TextView nombre, repeticiones, series;
public AdaptadorCursorLugares(Context contexto, Cursor c)
{
super(contexto,c,false);

}

public View getView(Context contexto, Cursor c, ViewGroup padre)
{
inflador = (LayoutInflater) contexto

.getSystemService(Context.LAYOUT_INFLATER_SERVICE) ;
View vista = inflador.inflate(R.layout.vistas, padre, false);
return vista;
}

@Override
public void bindView(View vista, Context contexto, Cursor c) {

nombre = (TextView) vista.findViewById(R.id.nombre);
series = (TextView) vista.findViewById(R.id.series);
repeticiones = (TextView) vista.findViewById(R.id.repeticiones);
nombre.setText(c.getString(1));
series.setText(c.getString(2));
repeticiones.setText(c.getString(3));
}

@Override
public View newView(Context arg0, Cursor arg1, ViewGroup arg2) {
// TODO Auto-generated method stub
return null;
}



}
En el MainActivity lo llamo así:
adaptador = new AdaptadorCursorLugares(this, c); //siendo c un cursor.
Espero ansioso vuestra respuesta (llevo pocas semanas con android, así que pido por adelantado disculpa por los fallos).

AlejandroAlCubo
24/04/14, 03:29:03
No entiendo muy bien por que usas TextViews para "tomar" los datos que quieres mostrar. Lo que yo te recomendaría es que uses ArrayList<String>(); (que es un arreglo de Strings para almacenar elementos en Lista)
nombres = new ArrayList<String>();

Y en esos Array almacenas la información de la base de datos:
nombres.add(c.getString(1));

Y después agregas el Array a tu ListView:
listview1.setAdapter(nombres);

Espero te sirva de algo mi respuesta :rolleyes:

badwolf2013
24/04/14, 20:21:52
Hola yo tenia el mismo problema que tu, lo que hice fue crear u a clase llamada Tools con los atributos que necesito, titulo, subtitulo,etc... Con sus getters & setters, y un constructor que recibe sus parámetros. El adapter lo creo heredando de arrayadpter y en el main dentro de la clase con el asyntasck en el doinbackgraund lo que hago es crear un Tools[] donde le añado lo que recojo del servidor, lo meto en un arraylist y lo mando a mi adapter lo gestiono y de nuevo en el main seteo el adapter a mi lista, no se si queda claro pero creo que es una buena forma de hacerlo y tb te recomiendo los vídeos en youtube de Manuel muñoz mir sobre el tema