2010-11-30 24 views
3
//row --> 2 
int row = mCursor.getCount(); 
for (int i = 0; i < row; i++) { 
if (mCursor.moveToPosition(i)){ 
    int val = mCursor.getInt(mCursor.getColumnIndexOrThrow(UTILI_COLLOC_ID_UTILI)) 
} 
} 

Je ne comprends pas car j'ai 2 lignes dans ma requête. Mais quand je veux lire la deuxième ligne avec "mCursor.moveToPosition (i)", c'est donc faux ... Pourquoi?moveToNext() est false

Répondre

1

Je pense que vous pouvez simplement utiliser en toute sécurité

while(mCursor.moveToNext()) { 
// code 
} 

au lieu de boucle pour

+0

J'ai essayé mais c'est pareil que ça n'a pas fonctionné – douarbou

+2

Hmm ok, vous vous êtes assuré que mCursor.getCount() est vraiment> 0? –

1

Vous avez 2 lignes: 0e & 1er. Je pense que votre problème est que vous passez à l'enregistrement suivant dans une boucle & déjà déplacé au dernier enregistrement. donc ça te renvoie FAUX.

Solution: put mCursor.moveToPosition (1); sur le côté de la boucle.