2009-08-30 6 views
1

Je veux mettre une "All String" données (obtenir de "Cursor") dans un "Array". Mais je ne sais pas pourquoi le "tableau" renvoie juste une valeur? Je suis perdu ici. Est-ce que quelqu'un peut m'aider? Ceci est mon extrait de codeComment puis-je mettre "String" (obtenir du curseur) dans un "Array" dans android

private String[] getOneColumn(){   
    String[] myArray = null;   
    Cursor cursor = mDbHelper.fetchAllNotes(); 
    startManagingCursor(cursor); 

    if(cursor.moveToFirst()){ 
     String myTitle = cursor.getString(cursor.getColumnIndex(SBooksDbAdapter.KEY_TITLE_RAW)); 
     myArray = myTitle.split(";");   
    } 

    return myArray; 
} 

Répondre

2

Je vous suggère de jeter un oeil here ou here quelques bons exemples d'utilisation des curseurs et des bases de données (curseurs étaient et sont encore un peu troublant pour moi aussi). En ce qui concerne le problème, je pense que vous oubliez de parcourir les données de votre curseur (cursor.moveToNext(), cursor.moveToPosition(int)).

Bonne chance.

+0

Je vois votre lien fourni (anddev.org), mais je pense que l'ancienne version, 1.5 ne supporte plus. Encore une fois, je pense que j'ai perdu. – Dennie

+0

La différence est juste dans le nommage de la méthode, je pense, au lieu de cursor.first(), vous appelez cursor.moveToFirst(), et au lieu de cursor.next() - cursor.moveToNext(), et vous devriez être capable de faire le même. Le didacticiel du bloc-notes du site d'accueil Android Project est également compatible avec SDK 1.5, donc vérifiez-le également. Que veux-tu faire exactement? Vous ne semblez pas parcourir les données du curseur, je pense que c'est le problème avec le résultat unique. Obtenir tous les résultats est montré, ou au moins esquissé dans ce premier tutoriel: if (cursor.moveToFirst()) {do {...} while (cursor.moveToNext())} –

+0

Ok, j'ai essayé ce nouveau code, Mais la valeur de retour (Array) quelque chose de mal? Ce code myArray = myTitle.split (";"). Est-ce vrai? – Dennie

Questions connexes