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 :

concatenation de variables


Sujet :

Android

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    501
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 501
    Points : 102
    Points
    102
    Par défaut concatenation de variables
    Bonjour, est ce possible de faire cette chose

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    myCheckBox1 = (CheckBox) this.findViewById(R.id.tablettePose);
    myCheckBox2 = (CheckBox) this.findViewById(R.id.tabletteredr);
     
    for(int i=0; i<tab.length; i++){
     
     
    tab[i]= "myCheckBox".concat(String.valueOf(i)).isChecked() ;
     
    }	
    l'erreur me dit    - The method isChecked() is undefined for the type String
    oui j'ai bien compris mais comment résoudre 
    à l'affichage dans un textview j'ai bien la concatenation entre la chine et l'indice i comme "myCheckBox1"
    merci

  2. #2
    Membre expérimenté Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Points : 1 622
    Points
    1 622
    Par défaut
    Peux tu décrire ce que tu essais de faire ? Car ce que je vois là n'a aucun sens..

    Tu veux y stocker quoi dans ton tableau ?

    Ici tu écris :
    - Je concatène la chaine "myCheckBox" avec la valeur de i et j'appelle la méthode isChecked() sur cette chaine ainsi concaténée.

    Comme la classe String n'a pas de méthode isChecked(), le compilo est pas très content ce qui est bien normal..

    Edit : Et si tu espères pouvoir accéder à la variable myCheckBox1 en écrivant "myCheckBox".concat('1'), tu peux abandonner dessuite ça marchera jamais

  3. #3
    Membre habitué
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2012
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 129
    Points : 144
    Points
    144
    Par défaut
    Bonjour,

    Pour réaliser ce que tu veux faire tu peux faire comme sa :

    tu peux récupérer tes checkboxs de cette manière en fonction de leur nom.

    int id = getResources().getIdentifier(name, "id", context.getPackageName());
    CheckBox cb = (CheckBox) findViewById(id);

    Je te laisse implémenter les méthodes pour les crées dynamiquement.

  4. #4
    Membre éclairé
    Avatar de LeBzul
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 381
    Points : 832
    Points
    832
    Par défaut
    Salut,
    Ca me parait plutôt tordu ce que tu essayes de faire, mais je suis pas sur d'avoir compris.
    En gros tu souhaites avoir dans tab[i] la valeur boolean du checkbox ?
    "Quand la lune n'est pas là, la nuit mène une existence obscure"

  5. #5
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    J'ai l'impression qu'il souhaite obtenir un nom de variable dynamiquement. C'est impossible en Java.
    Mais on doit pouvoir arriver à un résultat équivalent si chlock62 prend le temps d'expliquer plus clairement son but...
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    501
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 501
    Points : 102
    Points
    102
    Par défaut
    Pour repondre à Hephaistos007, je m'explique

    Je voudrais pouvoir traiter l'ensemble de mes case à cocher dans un tableau pour éviter d'avoir à faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    if(myCheckBox1.isChecked()){
     
    ma_variable_de_récupération_checkBox1= "Case coché"
    }else{
    ma_variable_de_récupération_checkBox1= "Case non coché"
     }
    if(myCheckBox2.isChecked()){
    ma_variable_de_récupération_checkBox2=  "Case coché"
    }else{
    ma_variable_de_récupération_checkBox2 = "Case non coché"
     }
    ect..
    ect..
    Donc quel solution entreprendre pour gérer une multitude de checkbox

    merci les amis

  7. #7
    Membre habitué
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2012
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 129
    Points : 144
    Points
    144
    Par défaut
    bah utilise ce que j'ai mis >_< ça répond à ta question...

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    313
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 313
    Points : 330
    Points
    330
    Par défaut
    Salut,

    Pourquoi ne pas utiliser un Vector ?

    Ajout des checkbox dans un Vector :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Vector<CheckBox> myCheckBoxes = new Vector<CheckBox>();
    myCheckBoxes.add( (CheckBox) this.findViewById(R.id.tablettePose) );
    . . .
    Récupération des checkbox :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    for(int i=0, l=myCheckBoxes.size() ; i<l; i++)
    {
       tab[i]= myCheckBoxes.get(i).isChecked() ; 
    }
    (PS: A ce stade, quelle utilité de passer par un intermédiaire tab[] ?)

    KF

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    501
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 501
    Points : 102
    Points
    102
    Par défaut
    Merci la solution de vecteur, ca marche a merveille

    Le but est de ne pas a avoir a écrire une mutlitude de condition pour testé si le checkbox et selectionné

    j'ai fait ca alors
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
      for(int i=0, l=myCheckBoxes.size() ; i<l; i++)
    				        {
    				        	if(myCheckBoxes.get(i).isChecked()){
    				        	      checkBox.put(myCheckBoxes.get(i).getText().toString(),"Oui");}
    				        	else{
    				        		  checkBox.put(myCheckBoxes.get(i).getText().toString(),"Non"); }
    				        }
    maintenant j'ai un nouveau tableau HASH comme ceci


    barrecabine Oui
    Retraitancienmaterielcab Oui
    Tablettepose Oui
    Retraitancienmaterielks Oui
    DeposeMobilier Non
    Cabtpe Non
    Tablettepeinte Oui
    Siegecabine Oui
    Paterecabine Oui

    merci les amis

  10. #10
    Membre éclairé
    Avatar de LeBzul
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 381
    Points : 832
    Points
    832
    Par défaut
    Je ne suis pas sur que le vector soit optimal pour ce cas.
    Un vector étend d'une ArrayList avec des méthodes de synchronisation (pas utile ici) alourdissant les performances.
    Je me trompe peut être; mais utilisé directement une ArrayList serait donc mieux.
    "Quand la lune n'est pas là, la nuit mène une existence obscure"

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    501
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 501
    Points : 102
    Points
    102
    Par défaut
    Impossible faire un arrayList de CheckBox, dout le Vector

  12. #12
    Membre éclairé
    Avatar de LeBzul
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 381
    Points : 832
    Points
    832
    Par défaut
    Je vois pas pourquoi on ne pourrait pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ArrayList<CheckBox> array = new ArrayList<CheckBox>();
    array.add(new CheckBox(getBaseContext()));
    Fonctionne très bien chez moi.
    "Quand la lune n'est pas là, la nuit mène une existence obscure"

  13. #13
    Membre habitué
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2012
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 129
    Points : 144
    Points
    144
    Par défaut
    J'ai déjà utilisé plusieurs des ArrayLists aucun soucis non plus

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    501
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 501
    Points : 102
    Points
    102
    Par défaut
    Salut, merci effectivement avec un arrayList cela fonctionne a merveille, erreur de ma part.

    J'ai don fait ce ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    myCheckBoxes = new ArrayList<CheckBox>();
    myCheckBoxes.add((CheckBox) this.findViewById(R.id.tablettePose));
    merci les amis

Discussions similaires

  1. Concatener une variable a un object?
    Par critok dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 25/02/2006, 19h38
  2. Interaction sur un bouton + Concatenation de variable.
    Par Cydreav dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 03/02/2006, 14h49
  3. Concatener 2 variables de type "long"
    Par jamesleouf dans le forum C
    Réponses: 9
    Dernier message: 04/12/2005, 22h24
  4. Concaténer des variables
    Par pcdj dans le forum Linux
    Réponses: 1
    Dernier message: 26/10/2005, 22h30
  5. [C#] Concatener 2 variables pour en faire une 3ème
    Par Thomas Lebrun dans le forum Windows Forms
    Réponses: 6
    Dernier message: 11/05/2004, 21h02

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