2011-09-06 6 views
0

dans mon application j'utilise un ListView pour afficher un menu de plats avec leurs noms vaisselleListView avec SimpleCursorAdapter

Voici le code où je lie les données de la requête à l'ListView en utilisant l'adaptateur:

private void getDishes() { 

    DBAdapter db = new DBAdapter(this); 

    db.open(); 
    Cursor cursor = db.getAllDishes(); 
    cursor.moveToFirst(); 
    Log.w("ppp","kk - " + cursor.moveToFirst()); 
    SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, 
      R.layout.list_item, cursor, new String[] { DBAdapter.DishName }, 
      new int[] {R.id.dishName }); 

    setListAdapter(adapter); 
    db.close(); 
} 

Mon code de requête ressemble à ceci:

public Cursor getAllDishes() 
{ 
    return db.query(DATABASE_TABLE, new String[] {DishName},null,null,null,null,null); 
} 

apprécie vraiment toute aide/commentaires comme je l'ai été coincé là-dessus depuis presque une semaine.

+0

Je ne l'ai pas lu le code, comme vous pouvez besoin d'améliorer votre que stion Quel est le problème et qu'est-ce qui vous bloque? –

+0

Désolé j'ai oublié d'ajouter, l'application ne semble pas pouvoir courir en utilisant les codes dans le 1er post, j'ai fait un logcat pour vérifier si la requête fonctionne et il renvoie vrai, cela signifie que la valeur est nulle non? – user930008

+0

consultez ce tutoriel sur Listview: http://www.vogella.de/articles/AndroidListView/article.html –

Répondre

0

Pouvez-vous expliquer explicitement quel est votre problème?

Mon suggère le changement

public Cursor getAllDishes() 
{ 
    return db.query(DATABASE_TABLE, new String[] {DishName},null,null,null,null,null); 
} 

à

public Cursor getAllDishes() 
    { 
    Cursor dishes = db.query(DATABASE_TABLE, new String[] {DishName},null,null,null,null,null); 
if(dishes != null) 
dishes.moveToFirst(); 
     return dishes; 
    } 

Puis

dans getDishes() méthode d'écriture comme celui-ci

private void getDishes() { 

    DBAdapter db = new DBAdapter(this); 

    db.open(); 
    Cursor cursor = db.getAllDishes(); 
    SimpleCursorAdapter adapter = new SimpleCursorAdapter(YourActivity.this, 
      R.layout.list_item, cursor, new String[] { DBAdapter.DishName }, 
      new int[] {R.id.dishName }); 
    setListAdapter(adapter); 
    db.close(); 
} 
Questions connexes