IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants graphiques Android Discussion :

SimpleCursorAdapter vers ListView


Sujet :

Composants graphiques Android

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 40
    Par défaut SimpleCursorAdapter vers ListView
    Bonjour,

    Je ne parviens pas à afficher des informations extraites de ma BDD dans une liste.

    Voici le fichier (cursor_row.xml) contenant des ListView :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:orientation="vertical" >
     
     
        <TextView
        android:id="@+id/id"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="50" /> 
     
        <TextView
        android:id="@+id/intitule"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="50" />
     
        <TextView
        android:id="@+id/salaire"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="50" />
     
    </LinearLayout>
    Et voici mon activité :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
     
    import java.util.ArrayList;
    import java.util.List;
    import java.util.zip.Inflater;
     
    import android.app.Activity;
    import android.app.ListActivity;
    import android.database.Cursor;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.ArrayAdapter;
    import android.widget.ListView;
    import android.widget.SimpleCursorAdapter;
    import android.widget.TextView;
     
    public class MainActivity extends Activity {
     
    	  @Override
    	  public void onCreate(Bundle savedInstanceState) {
     
    	    super.onCreate(savedInstanceState);
    	    setContentView(R.layout.cursor_row);
     
    	    //ecrire dans la table
    	    MetierDAO MetierDAOS = new MetierDAO(this);
    	    MetierDAOS.open();
    	    Metier Metier = new Metier(1,"intitule",2);
    	    MetierDAOS.ajouter(Metier);    
     
    	    Cursor cursor = MetierDAOS.mDb.rawQuery("SELECT id as _id, intitule, salaire FROM metier WHERE intitule = ?", new String[]{"intitule"});
    	    cursor.moveToFirst();
    	    //TextView textView = new TextView(this); 
    	    //String nbligne = String.valueOf(cursor.getCount());
    	    //textView.setText(nbligne);    
                //setContentView(textView);
                //Me renvoi bien le nombre de ligne ds ma table metier
     
           Cadapter = new SimpleCursorAdapter (this, R.layout.cursor_row, cursor, new String[]{MetierDAO.INTITULE, MetierDAO.SALAIRE}, new int[]{R.id.intitule, R.id.salaire});
     
        	ListView listView1 = (ListView) findViewById(R.id.salaire);
        	listView1.setAdapter(adapter);
            //long id = cursor.getLong(0);
    	   // String intitule = cursor.getString(1);
    	    //double salaire = cursor.getDouble(2);
           	long id;
       		String intitule;
       		double salaire;
     
            while (cursor.moveToNext()) {
            	id = cursor.getLong(0);
            	intitule = cursor.getString(1);
            	salaire = cursor.getDouble(2);
            	Metier m = new Metier(id, intitule, id);
            	TextView textView2 = new TextView(this);
        	    textView2.setText(m.getIntitule());    
                setContentView(textView2);
    	    }
            	View v = getLayoutInflater().inflate(R.layout.cursor_row, null);
     	    	ListView listView1 = (ListView) v.findViewById(R.id.intitule);
    	    	listView1.setAdapter(adapter);
     
    	        cursor.close();
     
    	    MetierDAOS.close();
     
    	  };
     
    }
    Mon LogCat me donne ce message d'erreur (Uniquement quand j'utilise findViewById):
    07-07 20:16:25.190: E/AndroidRuntime(23191): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.resto/com.android.resto.MainActivity}: android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 113.

    Merci d'avance...

  2. #2
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Bonjour,

    Comment veux tu convertir une TextView en ListView ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     <TextView
        android:id="@+id/salaire"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="50" />
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ListView listView1 = (ListView) findViewById(R.id.salaire);

Discussions similaires

  1. De TextView vers ListView
    Par hetlar dans le forum Composants graphiques
    Réponses: 4
    Dernier message: 25/07/2013, 04h03
  2. [XL-2007] données textbox vers listview et feuilles
    Par grisan29 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 31/12/2011, 09h43
  3. FUSION d'une ligne d'un Listview vers WORD
    Par fmadeveloppe dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 07/08/2007, 21h07
  4. Réponses: 0
    Dernier message: 24/07/2007, 13h22
  5. [C#]drag&drop vers deux listView
    Par fafa139 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 08/05/2006, 12h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo