blubsy Posté(e) 5 juillet 2010 Share Posté(e) 5 juillet 2010 Bonjour, j'ai une activity qui appel un layout. Jusque la pas de problème. Mais j'aimerais poser sur ce layout un objet (bouton ou autre) de manière automatique. En gros je voudrais caché ce qu'il y a sur le layout par mon objet, et ensuite pouvoir le supprimer ou le remettre facilement. J'ai testé ce type de code : Button test = new Button(this); test.setHeight(100); this.setContentView(test); Mais je me retrouve à chaque fois avec une erreur de type Caused by: java.lang.NullPointerException Si quelqu'un à une idée je suis preneur. Merci par avance pour toute votre aide. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Cyril Mottier Posté(e) 6 juillet 2010 Share Posté(e) 6 juillet 2010 Commence déjà par donner des LayoutParams (setLayoutParams) à ton Button pour qu'il "sache" quelle taille avoir ... le setHeight n'est pas une bonne idée et est à proscrire ! Pour le NullPointerException c'est clairement bizarre vu le peu de code que tu as là ... Tu n'as rien de plus précis ? Vu ta problèmatique j'aurais tendance à dire que le setvisibility(View.GONE/View.VISIBLE) serait totalement adapté dans ton cas mais j'ai peut-être mal compris ton véritable problème. Lien vers le commentaire Partager sur d’autres sites More sharing options...
blubsy Posté(e) 6 juillet 2010 Auteur Share Posté(e) 6 juillet 2010 Bonsoir Cyril, merci pour ta réponse, après pas mal de test je suis revenu en arrière et j'ai refait mon code xml. Je suis passé par FrameLayout pour insérer l'ensemble de mes éléments. Ensuite par la fonction android:visibility="gone" je rend invisible /inactif les éléments. Et dans mon code je réactive ou non mes éléments. Perso j'aurais préférer créé directement des éléments dans mon code mais bon j'ai pas tous compris alors je reviendrais tranquille dessus plus tard. Merci en tous ca pour m'avoir donner un peu de ton temps. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.