Bonjour, je voudrais lorsque je clique sur un bouton que celui-ci ajoute des éléments supplémentaires dans un layout.
Je n'ai aucune idée de comment réaliser cela, merci pour votre aide.
Exemple:
![]()
Bonjour, je voudrais lorsque je clique sur un bouton que celui-ci ajoute des éléments supplémentaires dans un layout.
Je n'ai aucune idée de comment réaliser cela, merci pour votre aide.
Exemple:
![]()
Salut.
Tu dois appliquer un événement de type MouseListener au composant censé ajouté des éléments.
Un truc de ce genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Button bouton = new Button("Bouton 1"); add(bouton); bouton.addMouseListener(new MouseAdapter(){ @Override public void mouseClicked(MouseEvent arg0) { add(new Button("Bouton 2")); } });
Je sais qu'il faut utiliser un onClick() mais je ne sais pas comment construire les éléments suivants, c'est-à-dire, après le toucher d' " ajout + ", construire les éléments graphiques.
C'est de l'Android sous Android Studio, avec de l'XML et du java
Ah ok.je me range alors.
Si j'ai bien compris ce que tu veut tu doit créer les objets dynamiquement.
Exemple ce code ajoute un textview en dessous du dernier objet créé:
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
29
30
31
32
33 public class Main{ TextView textView[] = new TextView[100]; //Nombre max d'objet int NumEdit = 0, IdObject = 200; textView[NumEdit] = new TextView(this); public void onClick(View v) { switch(v.getId()) { //Bouton ajout case R.id.addTextView: addTextView(); break; } } public void addTextView(){ //Layout:width et Layout:height du textView layoutParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); //Ajout de paramètre layoutParams.addRule(RelativeLayout.ALIGN_PARENT_START); layoutParams.addRule(RelativeLayout.ALIGN_PARENT_END); //Place le textView en dessous du dernier composant layoutParams.addRule(RelativeLayout.BELOW, IdObject - 1); textView[NumEdit].setId(IdObject); textView[NumEdit].setText("Text view " + IdObject ); //Ajoute le textView au Relative Layout Layout.addView(textView[NumEdit], layoutParams); IdObject += 1; NumEdit += 1; } }
Partager