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 :

checkbox dans une listView


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Décembre 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Décembre 2016
    Messages : 3
    Par défaut checkbox dans une listView
    Bonjour,

    je fais des ex6 pour apprendre à utiliser la LISTVIEW et afficher via ActivityResult et onActivityResult ce qui est saisie sur une autre interface.

    Dans mon activity qui affiche le retour de saisie, je dois mettre a jour ma liste sur écran en affichant les données saisir dans une classe (ce qui se passe très bien) mais mettre en face de chaque nom une checkbox disant si oui ou non cette personne est sportive.

    Je déclare mon MainActivity
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public class MainActivity extends AppCompatActivity {
     
        private ListView lstPersonnes;
        private ArrayAdapter<Personne> adpPersonne;
        private CheckBox chkSportif;
    [...]
    J'initialise cette calsse
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    [...]
    private void init() {
            // Init des valeurs
            lstPersonnes = (ListView) findViewById(R.id.lstPersonnes); // ma listeview dans mon layour
            chkSportif = findViewById(R.id.chkSportif); // mon CHECKBOX dans mon layout
            adpPersonne = new ArrayAdapter<Personne>(this, android.R.layout.simple_list_item_checked); // j'associe mon adapter avec ma liste 
            lstPersonnes.setAdapter(adpPersonne);
    [...]
        }
    Et j'écoute afin d'avoir le retour de la saisie et mettre à jour ma listeview
    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
    @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            super.onActivityResult(requestCode, resultCode, data);
            if (requestCode == NOUVEAU) {
                if (resultCode == RESULT_OK) {
                    String nom = data.getStringExtra("nom");
                    String prenom = data.getStringExtra("prenom");
                    int age = data.getIntExtra("age", 0);
                    Boolean sportif = data.getBooleanExtra("sportif", false);
                    Personne p = new Personne(nom, prenom, age, sportif);
                    adpPersonne.add(p);
                } else {
                    Toast.makeText(this, "L'utilisateur a annulé!", Toast.LENGTH_LONG).show();
                }
            }
        }
    Tout cela marche, mais je ne vois pas comment mettre mes checkbox dans ma liste.
    Si je comprend bien, il cela met mes donnés en ligne avec ma classe Personne (public class Personne implements Serializable {...]) ou j'ai dedans :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        @Override
        public String toString() {
            return this.Nom + " " + this.Prenom + " ("+ this.Age+" ans)" ;
        }
    J'ai bien essayé d'ajouter juste après mon (adpPersonne.add(p)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    // Position lors de l'ajout
                    int position = adpPersonne.getPosition(p);
    // Test si mon objet p est sportif
                    Boolean temp = false;
                    if (p.isSportif())  temp = true;
    // Check si oui
                    lstPersonnes.setItemChecked(position,temp);
    Mais quand j'aoute une seconde ligne, je perd ma case à cochée et elle redevient comme avant.


    Qui pourrait m'aider ?
    merci
    yoyochon

  2. #2
    Candidat au Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Décembre 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Décembre 2016
    Messages : 3
    Par défaut Pas de réponse
    Bonjour,
    Une cinquantaine de lecture mais pas de réponse ?
    Ma question est sans doute mal formulée ?

    Qui m'aide ?
    cordialement
    yoyochon

Discussions similaires

  1. Récupérer la valeur d'une Checkbox dans une ListView
    Par LHsafae dans le forum Développement Mobile en Java
    Réponses: 1
    Dernier message: 21/02/2013, 13h14
  2. [AC-2007] Contrôle checkbox dans une listview
    Par facedeharicot dans le forum VBA Access
    Réponses: 2
    Dernier message: 25/07/2011, 10h46
  3. Binding Checkbox dans une ListView
    Par Ashura95 dans le forum Windows Presentation Foundation
    Réponses: 12
    Dernier message: 18/10/2010, 16h50
  4. [C#] Checkbox dans une Listview : Toujours à false
    Par DébutantPgm dans le forum Windows Presentation Foundation
    Réponses: 9
    Dernier message: 24/05/2010, 23h57
  5. Réponses: 3
    Dernier message: 23/04/2009, 00h56

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