[Android] Passer d’une vue à une autre en cliquant sur un bouton

Quand on débute en développement Android, on crée notre première application, on ajoute du texte, un bouton, etc… Et après ? Comment créer une nouvelle page et passer à cette page en cliquant sur le bouton ? 

C’est ce que je vais essayer d’expliquer aujourd’hui dans ce tutoriel.

Création du bouton

On va partir d’une page vide, où nous allons ajouter un bouton. Jusque-là, rien de bien compliqué.

Il vous suffit de déplacer le bouton à partir de la palette sur votre vue.

vueavecboutonsimple

  • Modifiez l’identifiant du bouton par : “buttonSuivant”

Ajout d’une deuxième vue

La deuxième étape consite à ajouter une seconde vue (ou activité) à notre projet.

Cette étape va se départager en 3 étapes.

Etape 1 : Création de la classe qui va contrôler la vue

Nous allons créer cette classe sous : src –> com.example.tutopassagevue

Faites un clic droit puis :

  • New
  • Class
  • Nommez-là

L’arborescence de votre projet doit ressembler à ça :

nouvelle_vue_projet_android

Le code de la classe “Vue2.java” est presque vide.

Remplacez le par celui-là :

[java]
public class Vue2 extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.vue2);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

}
[/java]

Etape 2 : Création de la vue

Maintenant, nous allons créer la vue dans le projet. Ajoutez simplement un nouveau “Android XML File” sous : res –> layout

  • Clic droit
  • New
  • Other…
  • Android XML File

new_android_xml_file

  • Nommez votre fichier XML “vue2”
  • Validez par “Finish

new_android_xml_file2

Etape 3 : Déclaration de la nouvelle vue dans le AndroidManifest.xml

Pour déclarer correctement cette nouvelle vue dans notre projet, il faut ajouter l’activité dans le fichier “AndroidManifest.xml“.

  • Ouvrez le code du fichier “AndroidManifest.xml”
  • Sélectionnez l’onglet où se trouve le code (voir ci-dessous)

androidmanifestxml

  • Sous la balise fermante “</activity>” ajoutez le code ci-dessous qui correspond à la nouvelle vue :

[xml]
<activity android:name=".Vue2" />
[/xml]

Le code de votre fichier AndroidManifest.xml doit être identique à ça :

[xml]
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.tutopassagevue"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />

<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.tutopassagevue.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".Vue2" />
</application>

</manifest>
[/xml]

Voilà. Si après enregistrement du projet il n’y a pas d’erreur bloquante, c’est que tout a bien été déclaré.

Passons à la dernière étape : le code du bouton!

La gestion du clic sur le bouton “suivant”

Maintenant que tout est en place, il faut gérer l’effet du clic de l’utilisateur sur le bouton suivant pour passer à la seconde vue.

Cette gestion se fait dans le code de notre classe Java (“MainActivity.java”).

[java]
public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

final Button buttonsuiv = (Button) findViewById(R.id.buttonSuivant);
buttonsuiv.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, Vue2.class);
startActivity(intent);
}
});
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

}
[/java]

Enregistrez, compilez et testez!

Si vous avez suivi les étapes dans l’ordre, le passage d’une vue à l’autre doit se faire sans soucis.

572 Comments [Android] Passer d’une vue à une autre en cliquant sur un bouton

  1. JamesBow

    Unlike other yoga retreats, you don’t have to worry whether the dates will suit you, as our yoga vacation program runs non-stop 365 days a year. The Vikasa Experience may result in major changes in your lifestyle back home. Warning: Health and Happiness are very addicting! Many guests sent messages to us sharing their stories of transformation and how the Vikasa Experience changed their life forever. As you condition and strengthen your body and mind through physical exercise, you will become resistant to stress. Yoga is a tool set to keep yourself stress free. https://vikasayoga.com/ Eating wholesome and healthy food is part of our lifestyle philosophy at the beautiful VIKASA Life Cafe. We’ve formulated a signature cuisine, combining healthy ingredients with pure indulgence for you to savor. VIKASA serves a wide variety of food styles to suit different dietary needs; we offer vegan-friendly, international, fusion, western, raw and non-vegetarian dishes. Enjoy the evolution of food at VIKASA and join us for breakfast, lunch or dinner. You’ll have access to all the wonderful VIKASA facilities during your stay, including our famous infinity pool and secret beach. The VIKASA Bliss Spa offers a range of rejuvenating treatments to return your body to a state of bliss. Our Vitox program offers a non-invasive approach to detox. Guests have access to the SKY GYM located across the street. VIKASA Voyage offers meaningful adventure with eco-friendly and socially-conscious experiences. Our amazing staff are prepared to guide you in exploring the VIKASA facilities or explore the island paradise of Koh Samui during your yoga vacation.

    Reply
  2. Natisha

    you’re in point of fact a good webmaster. The site
    loading speed is incredible. It seems that you’re doing any unique trick.
    Moreover, The contents are masterwork. you’ve performed a wonderful process in this topic!

    Reply
  3. Rekomendasi Hp Dibawah 2 Juta

    Wһen I іnitiaⅼly commented I clickеd tһeе “Notify me when new comments are added”
    checkbox and now each time ɑ comment is added I get several
    еmails ᴡith the same comment. Is there any way
    you can remove me from tһat service? Thanks a lot!

    Reply

Leave a Reply

Your email address will not be published.