2015-09-06 68 views
0

從我的表中我想獲得每行的數量。例如,如果我有5行,我想獲得1,2,3,4,5。 我有這樣的方法,但是我得到的只有數1:獲得遊標的行號

private void listaAvvio() { 
    SQLiteDatabase db = new DatabaseHelper(getActivity()).getReadableDatabase(); 
    final List<Dettaglio1> dettagli1 = new ArrayList<Dettaglio1>(); 
    String tabella_op = "SELECT ....."; 
    Cursor cur = db.rawQuery(tabella_op, null); 
    while (cur.moveToNext()) { 
     Dettaglio1 d1 = new Dettaglio1(); 
     d1.id = cur.getString(0); 
     d1.FIELD1= cur.getString(1); 
     d1.FIELD2= cur.getString(2); 
     d1.FIELD3= cur.getString(3); 
     d1.NUMBER_OF_SINGLE_ROW++; 
     dettagli1.add(d1); 
    } 
    cur.close(); 
    db.close(); 
    ... 
} 

回答

3

您正在創建每次循環新Dettaglio1對象,因此在該對象的NUMBER_OF_SINGLE_ROW始終是相同的。

你必須使用一個單獨的變量要記住的行號:

int row_no = 0; 
while (cur.moveToNext()) { 
    Dettaglio1 d1 = new Dettaglio1(); 
    d1.id = cur.getString(0); 
    ... 
    row_no++; 
    d1.NUMBER_OF_SINGLE_ROW = row_no; 
    dettagli1.add(d1); 
}