Problème affichage dans listview

Résolu
rapidegoyes Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
rapidegoyes Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
J'ai besoin d'un coup de pouce, je m'explique:
Je code une petite application avec base de donnée sqlite.
Ma BDD fonctionne sans problème.
Je n'arrive pas à afficher le total de mes colonnes dans le listview.
J'ai 5 colonnes comme suit: type, nom, etat, nombre, endroit
Il n'y a que la colonne type qui affiche les données.
J'ai bien personnalisé le listview j’obtiens les 5 textview.
mais il n'y a que la première de remplie!
Ci-joint la partie de code qui pose problème
Mon fichier voirListeDB
package com.example.sqlitedatabase;

import android.os.Bundle;
import android.app.Activity;
import android.widget.ListView;
import android.database.Cursor;
import android.widget.SimpleCursorAdapter;

public class voirListeDB extends Activity{

SQLiteDataBaseHelper db; // déclaration de l'objet db

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.maliste);
db = new SQLiteDataBaseHelper(this);
//**********************************essai garder tout*****************************************
// Définition des colonnes
// NB : SimpleCursorAdapter a besoin obligatoirement d'un ID nommé "_id"
String[] columns = new String[] { "_id", "col1", "col2", "col3", "col4", "col5" };

// on prendra les données des colonnes 1 à 5..
String[] from = new String[] {"col1", "col2", "col3", "col4","col5"};

// ...pour les placer dans les TextView définis dans "row_item.xml"
int[] to = new int[] { R.id.textViewCol1, R.id.textViewCol2,R.id.textViewCol3,R.id.textViewCol4, R.id.textViewCol5};
//*******************************fin essai garder tout****************************************************************
ListView lv = this.findViewById(R.id.maliste);

//appel de la méthode crerColonne
Cursor data = db.crerColonne();//appel de la méthode pour obtenir l'allias _id

// création de l'objet SimpleCursorAdapter...
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.row_item, data,new String []
{"TYPE"}, new int[] {R.id.textViewCol1});

lv.setAdapter(adapter);

} //fin de onCreate

} //fin de la classe voirListeDB


J'ajoute la méthode crerColonne qui me permet d'afficher.


//méthode appelée pour faire fonctionner le simpleCursordapter
public Cursor crerColonne(){
SQLiteDatabase db = this.getWritableDatabase();
return db.rawQuery("SELECT ID as _id, TYPE FROM book_table", null);

}


Merci pour votre aide cela fait un moment que je cherche dans tous les sens.

cordialement à plus

rapidegoyes

Configuration: Windows / Firefox 75.0

1 réponse

  1. rapidegoyes Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   13
     
    Bonsoir à tous
    J'ai résolu mon problème ci-dessus concernant l'affichage dans un listView.
    Il fallait tout juste apporter quelques modifs aux deux fichiers présentés.
    Cela représente pour moi des soirées de recherches.

    Voir extrait de code ci-dessous

            // création de l'objet SimpleCursorAdapter...
    SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.row_item, data,new String []
    {"TYPE", "NOM", "ETAT", "NOMBRE","ENDROIT"}, new int[] {R.id.textViewCol1, R.id.textViewCol2,
    R.id.textViewCol3, R.id.textViewCol4, R.id.textViewCol5});

    lv.setAdapter(adapter);


    puis également à la requête

        //méthode appelée pour faire fonctionner le simpleCursordapter
    public Cursor crerColonne(){
    SQLiteDatabase db = this.getWritableDatabase();
    return db.rawQuery("SELECT ID as _id, TYPE, NOM, ETAT, NOMBRE, ENDROIT, * FROM book_table", null);

    }


    Si cela peut servir à quelqu’un !

    Cordialement à plus

    rapidegoyes
    1