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, ActionMode et CheckBox, façon GMail


Sujet :

Composants graphiques Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 48
    Par défaut ListView, ActionMode et CheckBox, façon GMail
    Bonjour,

    Je cherche à recréer le comportement de l'application GMail à savoir lorsque je clique sur la checkbox (et sur la checkbox seulement), un actionMode se déclenche et la je peux en sélectionner plusieurs autres (et accessoirement je compte le nombre d'items sélectionnées).

    Le souci, c'est que j'utilise un adapter personnalisé et le design de chaque item de ma listview est donc : une check box, deux textview et une image.

    Je n'arrive pas a implémenter l'action mode qu'il me faut. Dois-je le faire dans l'adapter ou dans mon activity contenant la listview ?

    J'ai essayé plusieurs tutos sur le net mais tous ce qu'ils proposent ne marche qu'avec un onItemLongClickListener. Or, cela ne me convient pas.

    j'ai cru voir sur le Net toujours, qu'il était nécessaire de ré implémenter une ListView personnalisée héritant de la classe Listview. J'aimerais que ce ne soit pas le cas ^^

    Quelqu'un a-t-il une solution ? ça m'aiderait énormément !!

  2. #2
    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
    L'adapter fournit l'interface et les données, pas les réactions aux actions de l'utilisateur.
    C'est donc au fragment contenant la ListView de le gérer.

    Sinon, la checkbox représente l'état "checked" ou non de l'item de la listview (multiselection listview), à ne pas gérer comme une checkbox normale...
    Le plus simple est peut-être d'ailleurs de créer une version de Layout personnalisée, qui gère l'état check et le dessin de la checkbox...

  3. #3
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 48
    Par défaut
    J'ai du mal a saisir.

    J'ai déja un layout personnalisé pour mes items de la listView, ou j'ai une checkbox dedans. Tu me dit qu'il faudrait un layout personnalisé pour la listview entière ?

    Si j'ai bien compris, on peut gérer l'état checked de chaque item de la listview et la checkbox est présente directement lorsque l'on gère cet état checked ? il n'y a pas besoin de définir une checkbox pour chaque item ?

    Si quelqu'un a un tuto clair et bien fait à me filer je suis preneur, je galère depuis deux jours pour faire ça et je n'arrive pas a trouver quelque chose qui m'aiderait sur le net.

  4. #4
    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
    Une ListView est capable de maintenir un état "selectionné" (checked) pour chaque item.
    Le problème est la représentation visuelle de cet état.

    Le plus simple que j'ai trouvé et d'utiliser une CLASSE de layout personnalisée ("CheckableRelativeLayout" par exemple) qui hérite de RelativeLayout, implémente Checkable, et affiche de base l'image de checkbox en background (pas besoin donc de rajouter une checkbox).
    Ensuite il suffit par le truchement des "states" de choisir le bon background simplement par un drawable selector.

    Autre solution, que cette classe "cherche" un item "checkbox" dans ses fils et l'utilise directement.

Discussions similaires

  1. Suppression d'item dans une ListView via des CheckBox (Type boite mail)
    Par Berlo56 dans le forum Composants graphiques
    Réponses: 2
    Dernier message: 27/03/2014, 09h40
  2. [AC-2003] Listview : désactiver les checkbox
    Par Monkey_D.Luffy dans le forum IHM
    Réponses: 1
    Dernier message: 05/04/2011, 19h33
  3. [Checkbox] La bonne façon et comment faire
    Par Meewix dans le forum Langage
    Réponses: 9
    Dernier message: 19/10/2006, 09h23
  4. ListView CheckBoxes et CustomDraw
    Par nek_kro_kvlt dans le forum Delphi
    Réponses: 4
    Dernier message: 17/10/2006, 11h34
  5. [C#.NET] ListView et Checkboxes, Help !
    Par TheParadoX dans le forum Windows Forms
    Réponses: 3
    Dernier message: 15/08/2006, 14h00

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