Aller au contenu

fonctin ajouter une ligne dans formulaire


jejefull

Recommended Posts

Bonjour,

Voila je c'est pas si c'est possible, mais je souhaiterais sur ma vue ou il y a un formulaire par exemple du type:

Exercice 1

Nom: ________

Durée exercices: __:__

Mettre un bouton ajouter exercice, le clique sur ceux bouton permettrai de rajouter un exercice:

Exercice 1

Nom: ________

Durée exercices: __:__

Exercice 2

Nom: ________

Durée exercices: __:__

AJOUTER

Mon formulaire est dans mon fichier .xml donc je ne c'est pas comment faire. Ou alors faut il que je créer d'autre fichier .xml et donc que je limite l'ajout.

Si vous avais une idée, cordialement

Lien vers le commentaire
Partager sur d’autres sites

Le mieux dans le cas présent est de rajouter ton formulaire directement en code, ça te permet d'ajouter autant d'exercices que tu veux et de ne pas t'embêter à déclarer 50 formulaires qui ne te serviront pas forcément.

D'ailleurs tu devrais même générer ton premier formulaire de cette manière si tu choisis cette solution, ça te permettra d'avoir un bête arraylist contenant l'ensemble de tes formulaires.

L'idée va être la suivante : tu met juste un LinearLayout dans ta page, c'est LinearLayout contiendra tes formulaires. De là tu peux créer un objet "Formulaire" qui va hériter d'un Layout (Relative surement dans ton cas mais ça sera à toi d'en décider).

Ainsi, dés que tu voudras créer un nouveau formulaire tu feras juste quelque chose comme ça :

Formulaire form = new Formulaire();
monLinearLayout.addView(form);
monArrayListDeFormulaire.add(form);

Ensuite dans le constructeur de ton formulaire tu vas instancier des EditText et TextView, leur donner des paramètres de placement et ajouter à ton formulaire de la manière suivante :

this.addView(monEditText, mesLayoutParam);

Les LayoutParams sont les paramètres de placement que tu vas appliquer à chacune des tes vues. Par exemple si tu souhaites ajouter un bouton au milieu de ton layout "Formulaire" tu feras :

RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(tailleX,tailleY);
layoutParams.setMargins(0, 0, 0, 0);
layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE);
this.addView(monBouton, layoutParams);

Ca fait assez peur à première vu la création d'interface en code mais au final c'est tout aussi simple et logique qu'en XML mais ça a un côté beaucoup plus pratique !

Je pense avoir fait le tour de ce qu'il y a à savoir sur le sujet ;)

Edit : J'ai fait tout ça de tête, il y a surement une ou deux coquilles. N'hésite pas à poser des questions si besoin.

Lien vers le commentaire
Partager sur d’autres sites

Merci beaucoup de ta réponse si rapide. Je vais tester ca, j'avoue que je n'avais pas jeter un œil sur la création d interface par code, le xml est tellement simple et rapide, mais dans ce cas je suis obliger de mis coller (même si sa n'a pas l'ère si compliquer).

Encore merci et je te tient au courant si je bloque.

Lien vers le commentaire
Partager sur d’autres sites

En effet, de premier abord ça fait peur, mais ça n'est pas si compliqué. Le vrai problème c'est que lorsqu'on recherche des infos là-dessus elles sont très parsemées un peu partout sur le web, rien de vraiment centralisé. Il faut donc se plonger dans la doc et essayer :)

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...