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 :

Ajouter un évènement OnClick à une ListView


Sujet :

Composants graphiques Android

  1. #1
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2009
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2009
    Messages : 56
    Points : 44
    Points
    44
    Par défaut Ajouter un évènement OnClick à une ListView
    Bonjour,

    Je souhaite ajouter un événement OnClick à un item d'une
    listview. J'ai essayé de mettre un addOnClickListener à chaque
    ligne. Je ne sais pas ce qui cloche dans mon code, celui-ci ne
    marche pas.

    Voici le fichier gérant la listview contentlist (depense.java)
    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
     
    /** Called when the activity is first created. */
    	  @Override
    	  public void onCreate(Bundle savedInstanceState) {
    	      super.onCreate(savedInstanceState);
    	      setContentView(R.layout.listedepenses);
     
    	      addOnClickListener();
     
    	      //Instanciation de la base MySQL
    	       mySQLiteAdapter = new SQLiteAdapter(this);
    	       mySQLiteAdapter.openToWrite();
     
    	    //Liste d'affichage des données issues de la base
    	      ListView listContent = (ListView)findViewById(R.id.contentlist);
     
    	    //Affichage des données en ligne
    	       cursor = mySQLiteAdapter.queueAll();
    	       updateList();
    	       String[] from = new String[]{SQLiteAdapter.KEY_ID, SQLiteAdapter.KEY_CONTENT1, SQLiteAdapter.KEY_CONTENT2, SQLiteAdapter.KEY_CONTENT3, SQLiteAdapter.KEY_CONTENT4, SQLiteAdapter.KEY_CONTENT5};
    	       //String[] from = new String[]{SQLiteAdapter.KEY_ID, SQLiteAdapter.KEY_CONTENT1, SQLiteAdapter.KEY_CONTENT2};
    	       int[] to = new int[]{R.id.id, R.id.textDate, R.id.TextOperation, R.id.textMoyenPaiement, R.id.TextSomme, R.id.TextViewCategorie};
     
    	       cursorAdapter = new SimpleCursorAdapter(this, R.layout.row, cursor, from, to);
    	       listContent.setAdapter(cursorAdapter);
     
     
    	  }
     
    	  //Evenement OnClick de la ligne
    	  private void addOnClickListener() {
    		// TODO Auto-generated method stub
    		  ListView listedepense = (ListView) findViewById(R.id.contentlist); 
     
    	      listedepense.setOnItemClickListener(new OnItemClickListener() {
    	    	    public void onItemClick(AdapterView<?> arg0, View view, int arg2,long itemID) {
     
    	    	        View itemView = view;
    	    	        String id = ((TextView)findViewById(R.id.id)).getText().toString();
    	    	        int position = (int) arg0.getSelectedItemId();
    	    	        Toast.makeText(getApplicationContext(), "ListView Selected : "+id+" Position:"+position+" arg2:"+arg2+" arg3:"+itemID, 5);
     
    	    	    }
    	      });
    	  }
    Merci pour votre aide

  2. #2
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2009
    Messages
    169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2009
    Messages : 169
    Points : 171
    Points
    171
    Par défaut
    Je pense que ça marche très bien au contraire moi.
    Peut-être qu'avec un .show() à la fin de ton makeToast() il va se produire quelque chose
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Toast.makeText(getApplicationContext(), "ListView Selected : "+id+" Position:"+position+" arg2:"+arg2+" arg3:"+itemID, Toast.LENGTH_LONG).show();

  3. #3
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2009
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2009
    Messages : 56
    Points : 44
    Points
    44
    Par défaut
    Oh que je suis bête

    Merci pour le détail, je me creusais la tête dessus depuis
    3 jours

    C'est donc résolu

  4. #4
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2009
    Messages
    169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2009
    Messages : 169
    Points : 171
    Points
    171
    Par défaut
    Ça m'est déjà arrivé aussi, c'est pourquoi les méthodes:
    - Log.d(String tag, String text)
    - Log.i(String tag, String text)
    - Log.w(String tag, String text)
    - Lod.e(String tag, String text)
    sont plus indiquées que de simples Toast pour faire du debugging

  5. #5
    Expert éminent

    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
    Points : 9 149
    Points
    9 149
    Par défaut
    C'est donc résolu
    Si vous avez trouvez une solution à votre problème merci de bien penser à tagger votre sujet en résolu via le bouton que vous trouverez en bas de la page

    Merci

Discussions similaires

  1. ajouter l'évènement OnCLick à un Label
    Par Hepil dans le forum ASP.NET
    Réponses: 7
    Dernier message: 30/11/2009, 15h46
  2. Ajouter un évènement onclick avec un argument au callback
    Par _jey_ dans le forum Général JavaScript
    Réponses: 22
    Dernier message: 17/07/2009, 15h24
  3. Tracking adsense : ajouter un événement sur une iframe
    Par Galdon dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 29/06/2009, 16h07
  4. Réponses: 30
    Dernier message: 09/04/2009, 14h21
  5. Erreur avec l'évènement OnClick de ListView
    Par xenos dans le forum Composants VCL
    Réponses: 2
    Dernier message: 21/03/2006, 14h54

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