Iterate à travers des lignes de Sqlite-query

J'ai une disposition de table que je veux remplir avec le résultat d'une requête de base de données. J'utilise un select all et la requête renvoie quatre lignes de données.

J'utilise ce code pour remplir les vues de texte à l'intérieur des lignes de table.

  • Annonce Android Admob dans PreferenceActivity
  • Signature GoogleSignatureVerifier message non valide (google play services 9.0.0)
  • Obtenir un contexte d'application de la classe singleton non active
  • Comment configurer l'émulateur Android pour afficher les boutons à l'écran comme le nouveau Galaxy Nexus?
  • Uncaught exception lancé par le finalisateur java.lang.IllegalStateException: Binder a été finalisé
  • Fond d'écran Android + texte + icône pour un bouton
  • Cursor c = null; c = dh.getAlternative2(); startManagingCursor(c); // the desired columns to be bound String[] columns = new String[] {DataHelper.KEY_ALT}; // the XML defined views which the data will be bound to int[] to = new int[] { R.id.name_entry}; SimpleCursorAdapter mAdapter = new SimpleCursorAdapter(this, R.layout.list_example_entry, c, columns, to); this.setListAdapter(mAdapter); 

    Je veux pouvoir séparer les quatre valeurs différentes de KEY_ALT et choisir où elles vont. Je veux qu'ils remplissent quatre vues de texte différentes au lieu d'une dans mon exemple ci-dessus. Comment puis-je itérer via le curseur qui en résulte?

    Cordialement, AK

  • Application de chat utilisant Firebase: Recevez une notification lorsque un nouveau message a été reçu - Android
  • GcmListenerService n'est pas appelé lorsque l'application est en arrière-plan
  • Masquer définitivement la barre d'état Android
  • Ajout de contrôles Android xamarin à la boîte à outils Visual Studio
  • Comment utiliser une forme dessinable avec une image?
  • Obtenir des images de l'image vidéo dans Android
  • 6 Solutions collect form web for “Iterate à travers des lignes de Sqlite-query”

    Vous pouvez utiliser le code ci-dessous pour parcourir le curseur et les stocker dans un tableau de chaînes et après que vous pouvez les configurer dans quatre textview

     String array[] = new String[cursor.getCount()]; i = 0; cursor.moveToFirst(); while (!cursor.isAfterLast()) { array[i] = cursor.getString(0); i++; cursor.moveToNext(); } 

    Cursor objets de Cursor renvoyés par les requêtes de base de données sont positionnés avant la première entrée, donc l'itération peut être simplifiée pour:

     while (cursor.moveToNext()) { // Extract data. } 

    Référence de SQLiteDatabase .

     for (boolean hasItem = cursor.moveToFirst(); hasItem; hasItem = cursor.moveToNext()) { // use cursor to work with current item } 

    L'itération peut se faire de la manière suivante:

     Cursor cur = sampleDB.rawQuery("SELECT * FROM " + Constants.TABLE_NAME, null); ArrayList temp = new ArrayList(); if (cur != null) { if (cur.moveToFirst()) { do { temp.add(cur.getString(cur.getColumnIndex("Title"))); // "Title" is the field name(column) of the Table } while (cur.moveToNext()); } } 

    J'accepte chiranjib, mon code est le suivant:

     if(cursor != null && cursor.getCount() > 0){ cursor.moveToFirst(); do{ //do logic with cursor. }while(cursor.moveToNext()); } 

    Trouvé un moyen très simple d'itérer sur un curseur

     for(cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()){ // access the curosr DatabaseUtils.dumpCurrentRowToString(cursor); final long id = cursor.getLong(cursor.getColumnIndex(BaseColumns._ID)); } 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.