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 :

boucle for et concatenation


Sujet :

Android

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 26
    Points : 13
    Points
    13
    Par défaut boucle for et concatenation
    bonjour a tous,
    voila ce que je c voudrais faire si quelqu un comprend qu il maide svp
    en php ca marche mais bon en java non je voudrais qu on me donne une facon de proceder...


    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
     
    String[] first = text.split("#");
     
    	    	int k;
    	    	for(k=0;k<first.length;k++){
     
     
     
    	    	String[] produit =  first[k].split("¤");
     
    	    	int mavar = R.id.produit_photo_+k;
     
    			ImageView  image+k = (ImageView) findViewById(mavar);
    			image_+k = downloadImage( image+k ,produit[0]);
     
    	    	}

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 757
    Points : 968
    Points
    968
    Par défaut
    Tout d'abord essaie de mieux expliquer ton problème pour qu'on puisse t'aider.
    Explique ce que tu essaie de faire, là où ça pose problème, etc.

  3. #3
    Membre habitué
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Avril 2010
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2010
    Messages : 108
    Points : 163
    Points
    163
    Par défaut
    Bonjour,

    Vous ne pouvez pas utiliser de concaténation de string pour indiquer un nom de variable.

    Le plus simple serait de créer une liste d'ImageView et de les insérer dans votre boucle.

    Il est vrai que vous pourriez vous exprimer plus clairement et dans un français un peu plus propre si possible !

    Cordialement, Raphael.

  4. #4
    Membre extrêmement actif
    Profil pro
    Développeur
    Inscrit en
    Mars 2012
    Messages
    1 969
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 969
    Points : 3 375
    Points
    3 375
    Par défaut
    Il est important aussi d'avoir un code propre.
    Concaténation et java ça ne va pas ensemble => c'est le meilleur moyen d'avoir des memory leaks.

    Essaye d'instantier tes variables en dehors des boucles et de penser à libérer ces variables (release) lorsque ce n'est plus nécessaire.
    Si la réponse vous a aidé, pensez à cliquer sur +1

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 26
    Points : 13
    Points
    13
    Par défaut merci a tous,
    enfaite je v expliquer un peu plus ce que j essaye de faire

    je telecharge des images dans mon doInBackground (asynctask)

    les variable ce nomme :

    image_1 ; image_2 etc...

    puis dans mon postExecute je recuperent c variables pour mettre mes images dans le layer xml attribué a chacune des images

    => donc enfaite ce que je voudrais c a la facon du php renommer les variable dans la boucle aparement ce n est pas possible y aurais t il une solutions?

  6. #6
    Expert éminent

    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
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Je ne comprends pas toujours pas la logique....
    les variables se nomment :
    image_1 ; image_2 etc...
    jusque là ok....
    puis dans mon postExecute je recupère ces variables
    heu... déjà je n'arrive pas à suivre... les variables sont là, qu'est ce que vous récupérez ? Leur contenu ?
    donc, en fait, ce que je voudrais c'est à la façon du php de renommer les variables dans la boucle
    Pourquoi vouloir renommer une variable ? Une variable est une variable, un truc quelque part en mémoire... le "nom" n'est utilisé que par le code source (et le compilateur)... donc je ne vois pas au runtime le but ultime...

    Si par exemple le but est de référencer les variables dans une boucle, on passe par un tableau:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ImageView[] imageViews = new ImageView[] { image_1, image_2, ... };
    for (int i = 0; (i < imageView.length); ++i) { imageView[i].setDrawable(...); }
    Si le but est de référencer l'identifiant...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int mavar = R.id.produit_photo_+k;
    ne marche pas... rien n'assure que le compilateur va attribuer des identifiants successifs aux images.
    Par contre, si le nom est fixe (produit_photo_1, ....)
    alors le code est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    String idname = "produit_photo_"+Integer.toString(k);
    int id = getResources().getIdentifier(idname,"id",getPackage());
    ImageView iv = (ImageView) findViewById(id);
    ou encore
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    String idname = "produit_photo_"+Integer.toString(k);
    try {
       int id = R.id.class.getField(idname).getInt(null);
       ImageView iv = (ImageView) findViewById(id);
        ...
    } catch (Exception ex) { Log.e("MonAPP","No such identifer:"+idname,ex); }
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 26
    Points : 13
    Points
    13
    Par défaut salut nicroman
    merci pour t conseil avisé je regarde tout ca

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 26
    Points : 13
    Points
    13
    Par défaut merci ca fonctionne ! et j ai compris donc c cool le principe
    nicroman a encore frappé

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

Discussions similaires

  1. Concatener vecteur dynamique [Boucle for]
    Par Newenda dans le forum MATLAB
    Réponses: 2
    Dernier message: 29/01/2014, 09h42
  2. boucle for, copie de matrice et concatenation
    Par Tibtib dans le forum MATLAB
    Réponses: 6
    Dernier message: 31/03/2010, 17h18
  3. concatener le resultat d'une boucle for
    Par arasm dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 19/08/2009, 11h51
  4. Concatenation a l'interieur de la declaration d'une boucle for
    Par Benjamin2tours dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 10/04/2007, 10h28
  5. [langage] boucle "for" modification du pas
    Par K-ZimiR dans le forum Langage
    Réponses: 4
    Dernier message: 29/04/2004, 11h54

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