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 :

[ListView/ListActivity] Je suis perdu !


Sujet :

Composants graphiques Android

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 27
    Par défaut [ListView/ListActivity] Je suis perdu !
    Bonjour,

    En plein développement de ma première application, j'ai découvert les ListView et les ListActivity.
    Je me suis dit qu'elles pourraient être utiles pour obtenir une mise en page sympathique.

    J'ai donc suivi deux tutos.
    Dans les deux tutoriaux, la partie "OnClick" ne marchait pas, ce qui est tout de même embêtant.
    Mais, le plus embêtant, c'est que j'aimerai que chaque item de la liste ouvre une certaine activité. Du coup, je me suis dit que les ListActivity pourraient convenir mais je n'ai pas vraiment compris comment ces dernières marchaient...

    Voici mon code actuel:
    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
    package com.listview.test;
     
    import java.util.ArrayList;
    import java.util.HashMap;
    import android.app.Activity;
    import android.os.Bundle;
    import android.widget.ListView;
    import android.widget.SimpleAdapter;
     
    public class ListViewTest extends Activity {
     
    	private ListView ListViewPerso;
     
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_list_view_test);
     
            ListViewPerso = (ListView) findViewById(R.id.list);
     
            ArrayList<HashMap<String, String>> listItem = new ArrayList<HashMap<String, String>>();
     
            HashMap<String, String> map;
     
            map = new HashMap<String, String>();
            map.put("titre", "Activité1");
            map.put("description", "Description1");
            map.put("img", String.valueOf(R.drawable.image1));
            listItem.add(map);
     
            map = new HashMap<String, String>();
            map.put("titre", "Activité2");
            map.put("description", "Description2");
            map.put("img", String.valueOf(R.drawable.image2));
            listItem.add(map);
     
            map = new HashMap<String, String>();
            map.put("titre", "Activité3");
            map.put("description", "Description3");
            map.put("img", String.valueOf(R.drawable.image3));
            listItem.add(map);
     
            map = new HashMap<String, String>();
            map.put("titre", "Activité4");
            map.put("description", "Description4");
            map.put("img", String.valueOf(R.drawable.image4));
            listItem.add(map);
     
            SimpleAdapter mSchedule = new SimpleAdapter (this.getBaseContext(), listItem, R.layout.affichageitem,
            new String[] {"img", "titre", "description"}, new int[] {R.id.img, R.id.titre, R.id.description});
     
            ListViewPerso.setAdapter(mSchedule);
     
        }
    }
    Est-ce donc vraiment possible d'établir une liste d'item menant à différentes activités ? Si oui, comment procéder ? Si non, y'a-t-il un autre moyen de faire quelque chose de similaire ?

    Merci d'avance pour vos réponses.

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    757
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 757
    Par défaut
    Oui il est possible détecter le clic sur un élément.
    Il s'agit de cette fonction : setOnItemClickListener à appliquer sur ta ListView

  3. #3
    Expert confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Billets dans le blog
    3
    Par défaut
    ListActivity = Activity qui gère une ListView identifiée par android.R.id.list
    c'est tout !
    Rien de compliqué, et rien de transcendant non plus qui'il faille passer à ListActivity

    Par contre:
    "ListViewPerso" est une variable membre; en Java, les membres commencent tous par une minuscule (seuls les types commencent par une majuscule). Je me suis fait avoir en lisant le code ^^

Discussions similaires

  1. [ODBC] Je suis perdu avec ODBC
    Par Nowhere dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 19/05/2006, 08h50
  2. [Tableaux] aide je suis perdu
    Par covin85 dans le forum Langage
    Réponses: 12
    Dernier message: 14/04/2006, 17h56
  3. [Architecture] EJB ou pas EJB ? Je suis perdu ...
    Par n!co dans le forum Java EE
    Réponses: 18
    Dernier message: 26/01/2006, 18h21
  4. RAM DDR, PC3200, 333Mhz , 400Mhz je suis perdu
    Par ahage4x4 dans le forum Composants
    Réponses: 2
    Dernier message: 08/12/2005, 17h52
  5. DLL et MainForm je suis perdu !
    Par rudy2 dans le forum C++Builder
    Réponses: 28
    Dernier message: 02/01/2005, 18h08

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