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

Android Discussion :

setListAdapter et écouteur


Sujet :

Android

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 34
    Points : 17
    Points
    17
    Par défaut setListAdapter et écouteur
    Salut tout le monde
    bon, je débute sous java et Android alors merci d'avance pour l'indulgence

    j'ai passé 1h hier soir à essayer de mettre un écouteur sur une liste (item+subitem) construite automatiquement à partir de 2 tableaux de même taille (stockés dans array.xml)

    cela fonctionne pour la liste mais nada pour l'écouteur, pas moyen de trouver la bonne méthode. 'suis certain que pour certains, c'est tout bête alors merci d'avance...


    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
     
        ArrayList<Map<String, String>> list = buildData();
        String[] from = { "item", "subitem" };
        int[] to = { android.R.id.text1, android.R.id.text2 };
     
        SimpleAdapter adapter = new SimpleAdapter(this, list, android.R.layout.simple_list_item_2, from, to);
        setListAdapter(adapter);
     
        ListView lv = getListView();
     
     
     // Ecouteur MAIS CELUI LA NE MARCHE PAS...
      lv.setOnItemSelectedListener(new OnItemSelectedListener(){
        public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
     
              // choix fait...
     
     
     
     
          }
        });
     
      }
     
     
    @SuppressLint("Recycle")
    private ArrayList<Map<String, String>> buildData() {
        ArrayList<Map<String, String>> list = new ArrayList<Map<String, String>>();
     
       int tailletableaux = getResources().obtainTypedArray(R.array.decouvrir).length();
     
        for (int i = 0 ; i < tailletableaux ; i++ )
        list.add(putData(getResources().getStringArray(R.array.decouvrir)[i], getResources().getStringArray(R.array.decouvrirdesc)[i]));
     
        return list;
      }
     
      private HashMap<String, String> putData(String valeur1, String valeur2) {
        HashMap<String, String> items = new HashMap<String, String>();
        items.put("item", valeur1);
        items.put("subitem", valeur2);
        return items;
      }

  2. #2
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2013
    Messages : 70
    Points : 113
    Points
    113
    Par défaut
    change ton écouteur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    lv.setOnItemClickListener(new OnItemClickListener(){
        public void onItemClick(AdapterView<?> parent, View view,int position, long id) {

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 34
    Points : 17
    Points
    17
    Par défaut j'ai trouvé celui là
    merci bien gars, j'vais essayer mais il me semble l'avoir fait...

    Après plusieurs essai, j'ai trouvé celui là qui ne me provoquait pas d'erreur de code ou dans le lancement de l'activité, mais, je n'ai aucune réponse au clic sur un des éléments de la liste

    je continue mes recherches...


    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
     
     
     // Ecouteur
       lv.setOnItemSelectedListener(new OnItemSelectedListener(){
          public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
     
              // choix fait...
        	  Toast.makeText(MainActivity.this, "SAlut", Toast.LENGTH_SHORT).show();
     
     
     
          }
     
    		@Override
    		public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
    				long arg3) {
    			// TODO Stub de la méthode généré automatiquement
     
    		}
     
    		@Override
    		public void onNothingSelected(AdapterView<?> arg0) {
    			// TODO Stub de la méthode généré automatiquement
     
    		}
       	});

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 34
    Points : 17
    Points
    17
    Par défaut ouaip
    Oui, je l'avais essayé celui là, Narion, mais :
    "La méthode setOnItemClickListener(AdapterView.OnItemClickListener) du type AdapterView<ListAdapter> ne s'applique pas aux arguments (new OnItemClickListener(){})"......

  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2013
    Messages : 70
    Points : 113
    Points
    113
    Par défaut
    ben en gros, tu peux pas écouter un évenement de type selected et lui demander de régir à l'évenement de type click...

    édite: http://developer.android.com/referen...dListener.html

    http://developer.android.com/referen...kListener.html

    Par contre, je ne comprend pas pourquoi tu ne peux pas lui donner un onItemClickListener....

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 34
    Points : 17
    Points
    17
    Par défaut c'est good...
    Salut Narion, c'est résolu, une remarque de eclipse que je n'avais pas pris en compte : @override...

    maintenant je le saurai (pour ça et pour le fait d'écouter eclipse...)

    merci bien gars, bon weekend

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    lv.setOnItemClickListener(new OnItemClickListener(){
        	@Override
    		public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
    				long arg3) {
    			// TODO Stub de la méthode généré automatiquement
     
    			// choix fait...
    	     	  Toast.makeText(MainActivity.this, "Test", Toast.LENGTH_SHORT).show();
     
    		}
        	});

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. système d'écouteurs (peur des redondances)
    Par mister3957 dans le forum C++
    Réponses: 3
    Dernier message: 02/03/2006, 04h23
  2. A propos des écouteurs.
    Par amira dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 13/02/2006, 12h56
  3. Problème d'écouteur clavier
    Par m@t dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 19/01/2005, 22h05
  4. [JMenuBar] Problème d'écouteurs
    Par Reward dans le forum Agents de placement/Fenêtres
    Réponses: 5
    Dernier message: 17/09/2004, 11h22
  5. [FLASH MX2004] TextInput et écouteur
    Par dens63 dans le forum Flash
    Réponses: 2
    Dernier message: 25/08/2004, 14h43

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