Profete162 Posté(e) 23 septembre 2009 Posté(e) 23 septembre 2009 (modifié) Bonjour à tous, Je vais tenter d'expliquer mon problème clairement en espérant que vous pourrez m'aider. 1) Je crée des boutons avec cette méthode trouvée dans un tuto. Cela fonctionne tres bien Je crée une classe sur le côté qui exécute ce qui se passe sur les boutons et dans le "onCreate", je mets ceci: OnMenuButtonClickListener menu_button_listener = new OnMenuButtonClickListener(this); Button my_button = (Button) findViewById(R.id.my_menu_button); my_button.setOnClickListener(menu_button_listener); dans la classe: Activity context; public OnMenuButtonClickListener( Activity context) { this.context = context; } public void onClick(View v) { this.context.setContentView(R.layout.ecrandeux); Toast.makeText(this.context,"j'affiche ecrandeux",1).show(); } 2) Les soucis a) si je lie ce code à un bouton d'un layout qui n'est pas main.xml -> ca crashe le programme b) le code de l'écran main fonctionne. Si je change de layout ( par le menu, par exemple) et que je reviens sur le main.xml ensuite, je peux cliquer sur les boutons, il ne se passe plus rien Est-ce que j'ai raté quelquechose d'important? Merci et désolé pour le dérangement Modifié 23 septembre 2009 par Profete162 Citer
Fluckysan Posté(e) 23 septembre 2009 Posté(e) 23 septembre 2009 Si tu veux afficher une autre Activity (donc un écran totalement différent du premier) il vaut mieux que tu passe par un startActivity ou startActivityForResult et que tu créer une autre Activity (comme la première) Ainsi son comportement sera géré à part dans un autre fichier, ça sera plus propre :) Citer
popolbx Posté(e) 23 septembre 2009 Posté(e) 23 septembre 2009 ouais +1 fluckysan. Concrêtement dans android : 1 ecran = 1 activity. Donc tu crées une autre activity pour ton écran 2. Citer
Profete162 Posté(e) 23 septembre 2009 Auteur Posté(e) 23 septembre 2009 Ok, merci des conseils, ca m'a un peu découragé cette complexité pour faire 2 pages... je vais attendre gentillement le prochain tutos qui passe la dessus.. lol Je ne voyais vraiment pas le développement aussi compliqué que cela! J'hallucine de savoir à quel point c'est compliqué de mettre une action sur un click de bouton! Citer
Jorodan Posté(e) 23 octobre 2009 Posté(e) 23 octobre 2009 Huuuuummmmm (prend la pose du mec qui réfléchi)... Mais une activity différente ne vas pas se faire dans un nouveau processus ? Citer
popolbx Posté(e) 23 octobre 2009 Posté(e) 23 octobre 2009 non car les activity d'un même package ont un processus unique. Citer
Jorodan Posté(e) 23 octobre 2009 Posté(e) 23 octobre 2009 ok ca me rassure! Donc rien à voir avec du processus fils! C'est tout ce qui m'intéresse :D Citer
Cyril Mottier Posté(e) 25 octobre 2009 Posté(e) 25 octobre 2009 (modifié) Je ne voyais vraiment pas le développement aussi compliqué que cela! J'hallucine de savoir à quel point c'est compliqué de mettre une action sur un click de bouton! Hmm ... (cf mon post) <?xml version="1.0" encoding="utf-8"?> xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/bouton_vive_android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="startActivityX" android:text="Vive Android!" /> public void startActivityX(View view) { startActivity(new Intent(this, MonActivity.class)); } Tu trouve ça difficile ? (Y'a réellement 3 lignes de code qui résoudent ton problème) :) Modifié 25 octobre 2009 par Cyril Mottier Citer
Profete162 Posté(e) 25 octobre 2009 Auteur Posté(e) 25 octobre 2009 (modifié) J'avais posté ce message en ne comprenant rien à rien.. J'ai énormément appris entretemps, mais ta technique est encore plus impressionante! ( mais on ne sait pas passer de paramètres à ton activiy avec cette méthode, si?) Modifié 25 octobre 2009 par Profete162 Citer
Cyril Mottier Posté(e) 25 octobre 2009 Posté(e) 25 octobre 2009 J'avais posté ce message en ne comprenant rien à rien.. J'ai énormément appris entretemps, mais ta technique est encore plus impressionante!( mais on ne sait pas passer de paramètres à ton activiy avec cette méthode, si?) Non mais tu peux utiliser le paramètre View passé à ta fonction pour savoir quoi faire du clic. Citer
Recommended Posts
Rejoignez la conversation
Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.