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 :

Affichage EditText lors de l'appui sur bouton


Sujet :

Composants graphiques Android

  1. #1
    Candidat au Club
    Inscrit en
    Juin 2013
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Affichage EditText lors de l'appui sur bouton
    Bonjour à tous,

    débutant en programmation, je me permets de poster une question :
    je souhaiterai rendre visible/invisible plusieurs EditText lors de l'appuis sur un bouton.
    Tout se passe bien pour un EditText. Le bouton fonctionne, l'EditText devient visible mais je ne sais pas comment m'y prendre pour afficher les autres lorsque j'appuie à nouveau sur le bouton.
    J'ai pensé à faire un tableau mais cela ne fonctionne pas. :s

    Voici une partie de mon code :

    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
     
    	private EditText monTexte = null;
    	private EditText monTexte2 = null;
    	private EditText monTexte3 = null;
    	private EditText monTexte4 = null;
    	private EditText monTexte5 = null;
    	private EditText monTexte6 = null;
    	private EditText monTexte7 = null;
    	private EditText monTexte8 = null;
    	private EditText monTexte9 = null;
    	private EditText monTexte10 = null;
    	private EditText maVar = null;
    	private EditText ligne[] = {monTexte,monTexte2,monTexte3,monTexte4,monTexte5,monTexte6,monTexte7,monTexte8,monTexte9,monTexte10};
    	private int i = 0;
     
     
     
    ajoutLigne.setOnClickListener(new View.OnClickListener(){
    			@Override
    			public void onClick(View arg0) {
     
    				for (i = 0; i <= 9; i++)
    					{
    						maVar = ligne[i];
    						maVar.setVisibility(100);
    					}	
    			}
    		});
    Pouvez vous me donner un petit coup de main sur la méthode à appliquer si j'ai été assez clair ?

    Merci d'avance !

  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, la méthode setVisibility n'est pas correct. Il faut en effet passer un int en paramètre, mais pas au hasard.
    Il faut choisir entre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    View.VISIBLE, View.INVISIBLE, View.GONE
    Ensuite, explique nous plus clairement ce que tu souhaites obtenir.
    Tous les EditText doivent s'afficher en même temps ? Un par un ?

  3. #3
    Candidat au Club
    Inscrit en
    Juin 2013
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci pour la réponse, effectivement j'ai juste "essayé" la méthode SetVisibility ça m'avait l'air de fonctionner, du coup je ne me suis pas trop posé de questions... Je vais donc jeter un coup d'oeil d'un peu plus près.

    Concernant les EditText, je souhaiterai qu'un EditText apparaisse à chaque fois que j'appuie sur le bouton. Si j'appuie 3 fois, il me faut 3 nouveaux EditText.
    Effectivement dans mon code ils devraient tous apparaître en même temps (vu la boucle) mais ce n'est pas ce que je cherche à faire :s.

  4. #4
    Candidat au Club
    Inscrit en
    Juin 2013
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Bon, j'ai effectué quelques modifications, mais je ne comprends pas pourquoi cela ne fonctionne pas. J'ai une erreur dès que j'utilise mon tableau ligne[].
    Si je mets directement monTexte2.setVisibility(View.VISIBLE); il s'affiche correctement.

    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
     
    		private EditText ligne[] = {monTexte,monTexte2,monTexte3,monTexte4,monTexte5,monTexte6,monTexte7,monTexte8,monTexte9,monTexte10};
     
     
                    monTexte2.setVisibility(View.GONE);
    		monTexte3.setVisibility(View.GONE);
    		monTexte4.setVisibility(View.GONE);
    		monTexte5.setVisibility(View.GONE);
    		monTexte6.setVisibility(View.GONE);
    		monTexte7.setVisibility(View.GONE);
    		monTexte8.setVisibility(View.GONE);
    		monTexte9.setVisibility(View.GONE);
    		monTexte10.setVisibility(View.GONE);
     
    		ajoutLigne.setOnClickListener(new View.OnClickListener(){
    			@Override
    			public void onClick(View arg0) {
     
    						maVar = ligne[0];
    						maVar.setVisibility(View.VISIBLE);
    			}
    		});
     
    	}
    merci d'avance.

    ps : est-ce qu'il me faut necessairement un tableau pour qu'à chaque clic sur le bouton une ligne apparaisse ?

  5. #5
    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
    maVar = ligne[0]; // monTexte
    maVar.setVisibility(View.VISIBLE); ~ monTexte.setVisibility(View.VISIBLE);

    Aucune référence à monTexte2 donc...

    Je ne comprends pas le but... pourquoi faire un tableau de textview et ne pas rajouter les textview dynamiquement ?

    Un truc genre (attention il doit manquer des trucs hein !).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    TextView tv = new TextView(this);
    tv.setText(....);
    layout.addView(tv);
    Sinon, encore mieux, l'utilisation des ListView !

  6. #6
    Candidat au Club
    Inscrit en
    Juin 2013
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Effectivement ! je n'avais pas pensé à ça (comme je l'ai précisé je débute :p), du coup je me suis un peu embrouillé...

    Merci bien en tout cas !

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

Discussions similaires

  1. [ZF 1.10] affichage de lisrte déroulante lors d'un appui sur un radio bouton
    Par Jimmy72_ dans le forum Zend Framework
    Réponses: 1
    Dernier message: 19/05/2011, 22h31
  2. Réponses: 6
    Dernier message: 18/12/2006, 15h49
  3. Réponses: 3
    Dernier message: 24/01/2005, 11h57
  4. Execution d'une fonction lors de l'appui sur CTRL+ALT+I
    Par cyberlewis dans le forum Windows
    Réponses: 4
    Dernier message: 17/03/2004, 01h35

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