Aller au contenu

boutton android


etud20

Recommended Posts

bsr chers amis,

je suis débutante en android je veux me deplacer d'une activité à une autre grace à un boutton...je serais reconnaissante si vous me donnez un exemple simple ou je peux utiliser un boutton envoyer qui me mene à l'autre activité et un autre pour le retour...merçi encore je compte sur votre aide

Lien vers le commentaire
Partager sur d’autres sites

Le lancement d'une Activity à partir d'une autre se fait par le lancement d'un Intent. Dans ton cas, si tu veux lancer une seconde Activity depuis un bouton dans ta première Activity, il te ajouter ce code dans un OnClickListener positionné sur le bouton

 Intent intent = new Intent(getContext(), MaSecondeActivity.class);
 startActivity(intent);

Pour le retour de la seconde Activity vers la première Activity, c'est géré nativement par Android via le bouton physique Back. Si de plus, tu veux le permettre via un bouton dans ton Activity, il suffit d'appeler la méthode finish(); dans le OnClickListener positionné sur le bouton de ta seconde Activity

Lien vers le commentaire
Partager sur d’autres sites

Qu'est-ce que tu ne sais pas faire ? Associer un listener à un bouton ?

Dans le onCreate de MaPremiereActivity

 ...
 Button btn = (Button)findViewById(R.id.idDeMonBoutonDeMaPremiereActivity);
 btn.setOnClickListener(new View.OnClickListener() {
   public void onClick(View v) {
     Intent intent = new Intent(getContext(), MaSecondeActivity.class);
     startActivity(intent);
   }
 });
 ...

Dans le onCreate de MaSecondeActivity

 ...
 Button btn = (Button)findViewById(R.id.idDeMonBoutonDeMaSecondeActivity);
 btn.setOnClickListener(new View.OnClickListener() {
   public void onClick(View v) {
     finish();
   }
 });
 ...

Avec en pré-requis bien sûr les deux boutons déclarés dans les layouts de tes Activity

Et n'oublie pas de déclarer la deuxième Activity dans le androidManifest.xml

Lien vers le commentaire
Partager sur d’autres sites

voiçi tout le code quand je fais le run force close comme resultat :(

// ma premiere activité :main.java

package com.screen1;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

public class main extends Activity {

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

// setContentView(R.layout.main);

Button btn = (Button)findViewById(R.id.button1);

btn.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

Intent intent = new Intent(getBaseContext(),screen2.class);

startActivity(intent);

}

});

}}

//main.xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

>

<TextView

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="@string/hello"

/>

<Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="valider"></Button>

</LinearLayout>

// 2eme activité main2.java

package com.screen2;

import android.R;

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

public class main2 extends Activity {

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

//setContentView(R.layout.aicha);

Button btn = (Button)findViewById(R.id.button2);

btn.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

finish();

}

});

}

}

//aicha.xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

>

<TextView

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="@string/hello"

/>

<Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="close"></Button>

</LinearLayout>

//manifest.xml

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

package="com.screen1"

android:versionCode="1"

android:versionName="1.0">

<uses-sdk android:minSdkVersion="2" />

<application android:icon="@drawable/icon" android:label="@string/app_name">

<activity android:name=".main2"

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=".main"

android:label="@string/app_name">

</activity>

</application>

</manifest>

Lien vers le commentaire
Partager sur d’autres sites

Il faut laisser les setContentView() dans les onCreate, sinon ça ne peut pas marcher

PS: utilise les balises [ code ] [/ code ] quand tu mets des extraits de code dans un post, ça le rend plus lisible. Et n'hésite pas à indiquer précisément l'exception qui se produit quand tu as un Force Close...

Lien vers le commentaire
Partager sur d’autres sites

merci pour tes conseils qui me vaut trop dans mes premiers pas...voiçi les erreurs que j'ai rencontré : dans cette ligne le main cannot be resolved pourtant qu'elle est nommé main .xml en layout et meme si je renome le meme probleme (dans la deusieme activité)

setContentView(R.layout.main); 

maintenant dans la premiere activité il voulais que screen2.class create class et je l'ai fais

Intent intent = new Intent(getBaseContext(), screen2.class);

si vous voulez d'explications je pourrais y envoyer mon code encore une autre fois...je compte sur vous

Lien vers le commentaire
Partager sur d’autres sites

j'ai refais tout les codes avec precision des noms et j'ai obtenu aucune erreurs sauf que le resultat comme suite...la deusieme page marche avec close mais mon probleme existe encore avec la premiere page

Lien vers le commentaire
Partager sur d’autres sites

slt, pour la deusieme page elle fonctionne correctement sauf la premiere quand je clique sur valider pour passer de la la 1ere page à la 2eme ce message me s'affiche the application has stopped unexepectedly please try again

Lien vers le commentaire
Partager sur d’autres sites

Si tu as un Force Close, c'est qu'il y a une exception qui se produit, dont la stack trace doit s'afficher dans la vue LogCat dans ton Eclipse. Tu y trouveras l'indication de l'exception qui se produit, et le numéro de ligne dans ton code où elle se produit...

Lien vers le commentaire
Partager sur d’autres sites

vous parlez de ça?

[2011-03-09 05:46:28 - new1] Starting activity com.new1.page1 on device emulator-5554

[2011-03-09 05:46:30 - new1] ActivityManager: Can't dispatch DDM chunk 46454154: no handler defined

[2011-03-09 05:46:30 - new1] ActivityManager: Can't dispatch DDM chunk 4d505251: no handler defined

[2011-03-09 05:46:31 - new1] ActivityManager: Starting: Intent { action=android.intent.action.MAIN categories={android.intent.category.LAUNCHER} comp={com.new1/com.new1.page1} }

Lien vers le commentaire
Partager sur d’autres sites

C'est effectivement un extrait de LogCat. C'est là que tu peux trouver la trace de ton exception, par ex. (mais pas dans l'extrait que tu fournis...)

Lien vers le commentaire
Partager sur d’autres sites

  • 2 weeks later...

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...