Aller au contenu

[Problème] Creer des view dynamiquement dans le code Java


Morok

Recommended Posts

Bonjour à tous, J'espère être dans la bonne section du forum pour poser ma question.

Je commence à développer sur Android et j' ai toujours réussi a me débloquer seul mais là je bloque et je fait appèle à vous.

Donc je voudrais créer des view depuis mon code Java pour les ajouter ensuite sur la page XML. Je veux créer des EditText pour afficher les objets de ma base de donné ( donc afficher 3 EditText si j'ai 3 enregistrements, 5 EditText pour 5 enregistrements ...) pour cela je veux les créer depuis le code Java.

Je ne vois pas trop comment m' y prendre, pourriez-vous me donner un exemple.

Merci d' avance.

Lien vers le commentaire
Partager sur d’autres sites

  • 2 weeks later...

Je me permet de faire un up de mon post.

J' ai trouvé cette syntaxe qui permet d' ajouter des View a un layout, cependant je n' arrive pas a modifier les paramètres de l' objet ( Width Height ...). De plus l' objet ne s' affiche pas.

TableLayout monly = (TableLayout) findViewById(R.id.lyTableau);

Button monBouton;

monly.addView(monBouton);

Pourriez-vous m' expliquer comment procéder ?

Merci d' avance

Lien vers le commentaire
Partager sur d’autres sites

Hello,

Deja un des problemes, c'est que tu ne crées pas vraiment un objet bouton là ( tu ne viendrais pas du C/C++, par hasard ? Je faisais ca tout le temps au départ ).

Donc il faut que tu fasses :

Button monButton = new Button( MonActivity );

monButton.setWidth( ... );

monButton.setHeight( ... );

monly.addView(MonButton);

Voila,

je le fais moi, et ca marche !

Emmanuel / Alocaly

Lien vers le commentaire
Partager sur d’autres sites

Merci pour la réponse, en effet je suis habitué a coder en C/C++ et j'ai du mal avec la logique Android.

Pour la hauteur et la largeur je voulais utliser Fill_parent et wrap_content, mais la méthode setHeight nécessite une valeur en pixels. Je crois que la méthode setLayoutParams me permettrait de les utiliser mais je n' ai pas réussi a comprendre comment elle fonctionne.

Lien vers le commentaire
Partager sur d’autres sites

Dans nos cas non :

Il s'agit de rajouter des boutons dans une table, donc faire un tableau N x M de boutons.

Pas avoir une liste de boutons.

...

A moins que tu ne penses, dans l'adapter pouvoir mettre un nombre variable de boutons ? Mais ca revient à ce qu'on fait là...

Dans tous les cas, personnellement, je trouve ca beaucoup plus simple qu'une listView, le tablelayout + les boutons ajoutés à la volée.

Le gros soucis, en fait, c'est d'avoir une partie de son interface dans les Xml, et l'autre dans le code java.

Emmanuel / Alocaly

Lien vers le commentaire
Partager sur d’autres sites

Salut, pour pas recréer un topic supplémentaire, je viens voir si quelqu'un aurait une réponse à un problème similaire avant de créer un sujet :

Je cherche à créer moi aussi des vues de manière dynamique donc de ce côté la pas vraiment de problème, j'arrive a créer une vue... Le problème vient quand j'en veux plusieurs.

J'explique. J'ai une activity "vierge" dans laquelle je cherche à charger des données, un peu à la manière de Morok.

Je crée donc une view de type ScrollView (on l'appellera a)

Dans celle-ci j'ai besoin d'ajouter plusieurs Textview (on les appellera b)

Je crée donc mon textview et lui met un texte

Ensuite je fais un a.addView(b).

puis setContentView(a);

Et la, rien ne s'affiche, j'ai juste un écran noir vierge dans mon appli

Donc j'imagine que je rate une étape, quelqu'un a déja fait ça?

Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...