Jump to content

Voyage entre 2 layouts et "oubli" des boutons.


Profete162

Recommended Posts

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

Edited by Profete162
Link to comment
Share on other sites

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 :)

Link to comment
Share on other sites

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!

Link to comment
Share on other sites

  • 5 weeks later...
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) :)

Edited by Cyril Mottier
Link to comment
Share on other sites

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?)

Edited by Profete162
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...