Interface graphique dynamique android

Résolu
cs_GhostMoon Messages postés 85 Date d'inscription dimanche 14 mars 2010 Statut Membre Dernière intervention 17 juin 2013 - 29 mars 2013 à 11:11
cs_GhostMoon Messages postés 85 Date d'inscription dimanche 14 mars 2010 Statut Membre Dernière intervention 17 juin 2013 - 5 avril 2013 à 10:10
j'ai besoin d'aide c'est urgent SVP !!
je suis débutante en android. je veux qu'a chaque fois je Click sur un bouton un edittext et bouton seront creer automatiquement.
J'ai réussi à faire ceci mais pour un seul Click alors que je veux que cela se fait autant de fois en gardant l'edittext et le bouton généré précédemment.
Merci d'avance

14 réponses

BunoCS Messages postés 15314 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 30 septembre 2022 103
29 mars 2013 à 18:25
Pour récupérer la vue parente, il me semble qu'il faut faire un truc du genre
mParentView = getWindow().getDecorView().findViewById(android.R.id.content);


Ensuite, dans ton onClick, NE PAS FAIRE setContentView() mais plutôt
mParentView.addView(...)

Encore faut-il que le noeud parent de activity_main soit un LinearLayout...

Tu peux rechercher sur le web l'ajout dynamique de vues

@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
3
BunoCS Messages postés 15314 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 30 septembre 2022 103
29 mars 2013 à 11:44
Hello,
Une méthode possible:
- tu crée un layout xml avec EditText et Button
- à chaque click sur ton bouton:
- tu crée la vue associée à ton xml (avec LayoutInflater)
- tu l'ajoutes à ta vue (je pense que c'est ce que tu veux)

Rien de plus compliqué.


@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
cs_GhostMoon Messages postés 85 Date d'inscription dimanche 14 mars 2010 Statut Membre Dernière intervention 17 juin 2013
29 mars 2013 à 15:53
voila mon code de onclick!! mais le problème que lorsque je fait une 2emem click sur le bouton un seul edittext et bouton seront construits est je veux a chaque click un nouveau bouton et edittext seront construit en gardant l'edittext et le bouton généré précédemment.

void onclick()
{
monLinearLayout = new LinearLayout(this);
monLinearLayout.setOrientation(LinearLayout.DRAWING_CACHE_QUALITY_AUTO);

monTextView1 = new EditText(this);
mbouton = new Button(this);

monTextView1.setText("Bonjour tout le monde !");

mbouton.setText("Delete");
mbouton.isClickable();
mbouton.setClickable(true);
monLinearLayout.addView(monTextView1);
monLinearLayout.addView(mbouton);
setContentView(monLinearLayout);
}
0
BunoCS Messages postés 15314 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 30 septembre 2022 103
29 mars 2013 à 16:01
setContentView(monLinearLayout); 

Le problème est là. Tu écrases ta vue courante par ta nouvelle vue.
Il vaut mieux rajouter tes boutons à ta vue courante...
mbouton.setText("Delete"); 
mbouton.isClickable(); 
mbouton.setClickable(true); 
monLinearLayout.addView(monTextView1); 
monLinearLayout.addView(mbouton); 

vueParente.addView(monLinearLayout);


@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_GhostMoon Messages postés 85 Date d'inscription dimanche 14 mars 2010 Statut Membre Dernière intervention 17 juin 2013
29 mars 2013 à 16:46
mem problem j'arrive pas à creer plusier edittext et plusieurs boutons !! seulement un edittext et un bouton et mon but c'est d creer un nouveau bouton et edittext a chaque click :)
0
cs_GhostMoon Messages postés 85 Date d'inscription dimanche 14 mars 2010 Statut Membre Dernière intervention 17 juin 2013
29 mars 2013 à 17:08
j'ai essayé ce que vous ma proposez et toujours le même problème !! :/
0
BunoCS Messages postés 15314 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 30 septembre 2022 103
29 mars 2013 à 17:10
Si ta vue parente est un LinearLayout et que tu fais un addView, tu ne devrais pas avoir le souci...


@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
cs_GhostMoon Messages postés 85 Date d'inscription dimanche 14 mars 2010 Statut Membre Dernière intervention 17 juin 2013
29 mars 2013 à 18:04
oui le probleme que j'arrive pas à faire addview pour ma vue parente !! :/ voila mon code:

public class MainActivity extends Activity {
LinearLayout layout;

private EditText createEditText(){
EditText view = new EditText(this);
view.setText("Bonjour");
return view;
}

private Button createButton () {
Button view = new Button(this);
view.setText("Bonjour");
return view;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}

public void onClick( View view)
{


layout = new LinearLayout(this);
layout.addView(createEditText());
layout.addView(createButton());

layout.setOrientation(LinearLayout.VERTICAL);
layout.setGravity(Gravity.RIGHT);
layout.setPadding(20, 20, 0, 0);
setContentView(layout);


}
0
cs_GhostMoon Messages postés 85 Date d'inscription dimanche 14 mars 2010 Statut Membre Dernière intervention 17 juin 2013
29 mars 2013 à 20:48
Merci il fonctionne très très bien !!!!! :)))))

J'ai un autre problème :/ !! Tous les EditTexts et les boutons sont confondu les uns sur les autres.
0
BunoCS Messages postés 15314 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 30 septembre 2022 103
30 mars 2013 à 12:51
C'est sûrement parce que ton l'atout parent dans ton xml n'est pas un LinearLayout...


@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
cs_GhostMoon Messages postés 85 Date d'inscription dimanche 14 mars 2010 Statut Membre Dernière intervention 17 juin 2013
31 mars 2013 à 11:35
merciiii pour votre aide il fonctionne très bien !!!
J'ai essayer de faire l'affichage des boutons et des edittexts dans une autre page mais je n'arrive pas !! j'ai utilisé this.setContentView(monLinearLayout) au lieu de ((ViewGroup) mParentView).addView(layout) mais rien ne fonctionne :/ !!
0
cs_GhostMoon Messages postés 85 Date d'inscription dimanche 14 mars 2010 Statut Membre Dernière intervention 17 juin 2013
3 avril 2013 à 22:45
Bonsoir !! Est ce que vous pouvez m'aider à ajouter un item dynamiquement dans une listeview !!! SVP Aide moi !!!
0
BunoCS Messages postés 15314 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 30 septembre 2022 103
4 avril 2013 à 10:48
Hello,
L'ajout d'item dans une listview se fait "simplement" en mettant à jour les données de ton adapter associé. Tu trouveras des tonnes d'exemple sur le web, genre ici


@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
cs_GhostMoon Messages postés 85 Date d'inscription dimanche 14 mars 2010 Statut Membre Dernière intervention 17 juin 2013
5 avril 2013 à 10:10
Merciii !! :))))
0