2011-06-24 4 views
0

Possible en double:
Good Tutorial for SQLite and ListViewandroid sqlite et ListView

est-il un exemple sur la façon d'utiliser ListView avec sqlite pour lire toutes les lignes dans le tableau à la fois ou que dois-je changer dans le curseur pour lui faire lire tous les titres à la fois

//---get all titles--- 
    db.open(); 
    Cursor c = db.getAllTitles(); 
    String text = ""; 
    if (c.moveToFirst()) 
    { 
     do {   
      DisplayTitle(c, text); 
     } while (c.moveToNext()); 
    } 
    db.close(); 
} 

public void DisplayTitle(Cursor c, String text) 
{ 
    ListView.setText("id: " + c.getString(0) + "\n" + 
     "ISBN: " + c.getString(1) + "\n" + 
     "TITLE: " + c.getString(2) + "\n" + 
     "PUBLISHER: " + c.getString(3)); 
} 

//---retrieves all the titles--- 
public Cursor getAllTitles() 
{ 
    return db.query(DATABASE_TABLE, new String[] { 
      KEY_ROWID, 
      KEY_ISBN, 
      KEY_TITLE, 
      KEY_PUBLISHER}, 
      null, null, null, null, null); 
    } 
} 
+0

vous souhaitez afficher les titres dans un listview de sqlite? –

Répondre

-1

AFAIK, vous ne pouvez pas lire toutes les lignes dans sqlite et les mettre toutes en même temps dans listview si vous voulez dire cela. vous devez lire chaque ligne dans sqlite et la mettre dans listview avec l'adaptateur. J'utilise principalement SimpleAdapter.

vous pouvez voir l'exemple HERE

modifier une partie de code pour lire de la base:

// prepare the list of all records 
    String[] columns={"id", "nick", "pass"}; 
    Cursor result=sampleDB.query("table", columns, "", null, null, null, null); 
    result.moveToPosition(0); 
    while (!result.isAfterLast()) { 
     HashMap<String, String> map = new HashMap<String, String>(); 
     map.put("rowid", result.getString(0)); 
     map.put("col_1", result.getString(1)); 
     map.put("col_2", result.getString(2)); 
     fillMaps.add(map); 
     result.moveToNext(); 
    } 
0

Utilisez une sous-classe de CursorAdapter, comme

 Cursor c = db.getAllTitles(); 
     SimpleCursorAdapter a = new SimpleCursorAdapter(c, ....); 
     listview.setAdapter(a);