Aller au contenu

Créer 2 boutons sous eclipse


splifou

Recommended Posts

Bonjour,

Comment créer deux boutons fonctionnels sous eclipse ? Un pour lancer un intent et l'autre pour quitter l'application ?

J'en suis à ce code :

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

public class Entry extends Activity implements View.OnClickListener {

private Button mButton;

private Button lButton;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.entry);

mButton = (Button)findViewById(R.id.mbutton);

mButton.setOnClickListener(this);

}

@Override

public void onClick(View view) {

if (view == mButton) {

Intent intent = new Intent(Entry.this, GoogleSearch.class);

startActivity(intent);}

}

}

Lien vers le commentaire
Partager sur d’autres sites

Efface ton public void onClick et remplace le par ceci dans ton onCreate:

mButton.setOnClickListener(new Button.OnClickListener()

{

public void onClick(View v)

{

Intent intent = new Intent(Entry.this, GoogleSearch.class);

startActivity(intent);}

});

iButton.setOnClickListener(new Button.OnClickListener()

{

public void onClick(View v)

{

finish();

}

});

Sinon, il y a moyen de faire cela plus proprement en mettant tous les comportements de onClick dans un fichier java à part, mais je te laisse découvrir d'autres Tutos.

Hésite pas à en ouvrir plus, et tester ceux inclus avec le SDK, c'est une mine d'informations.

Modifié par Profete162
Lien vers le commentaire
Partager sur d’autres sites

Merci !

Alors j'avais une erreur avec ma première ligne public class Entry extends Activity implements que j'ai remplacé par public class Entry extends Activity et j'ai aucune erreur par contre j'ai pas de launcher. Quand je l'émule il n'ouvre pas l'application et y'a marqué pas de launcher dans la console.

Voilà ce que j'ai comme code :

public class Entry extends Activity {

private Button mButton;

private Button lButton;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.entry);

mButton.setOnClickListener(new Button.OnClickListener()

{

public void onClick(View v)

{

Intent intent = new Intent(Entry.this, GoogleSearch.class);

startActivity(intent);}

});

lButton.setOnClickListener(new Button.OnClickListener()

{

public void onClick(View v)

{

finish();

}

});}}

Lien vers le commentaire
Partager sur d’autres sites

Ecoute.. la ca devient grave...

1ere étape: regarder le logcat: il va te dire que tu as un objet nul à la ligne X de ton programme. Cette ligne correspondra à mButton.setOnClickListener. ( je suis pas prophète pour rien, je lis dans le futur...)

2eme étape: apprendre les bases les plus simples du java avant de foncer dans la prog.

3eme étape: comprendre....

Tu as ton bouton et tu veux lui adjoindre un clicklistener. C'est simple!

Dans ton premier code tu dis en 2 étapes:

private Button mButton;

mButton = (Button)findViewById(R.id.mbutton);

mButton.setOnClickListener();

Ce qui fonctionne!

Dans la seconde partie tu dis:

private Button mButton

mButton.setOnClickListener()

Comment veux tu que ton programme sache ce que c'est mButton????

Il faut lui dire avant "mButton est le bouton qui est sur mon layout à tel endroit"

C'était ma réponse gentille et apres, je t'invite à lire un peu avant de reposer une autre question du même type.

Modifié par Profete162
Lien vers le commentaire
Partager sur d’autres sites

Merci Nivek j'ai rajouté les lignes qui me manquait dans mon manifest donc maintenant je saurai comment faire car c'est pas la première fois que j'ai ce problème. Avant je recommancait le projet à 0 !

Sinon prophete j'avoue que j'y connais rien en programmation je suit les tutos. J'ai suivit des cours java aussi mais c'était vraiment différent. Avec un if else j'aurai pas de problème pour mes deux boutons.

Avec ce que tu m'as dit j'ai écrit ça :

public class Entry extends Activity {

private Button mButton;

private Button lButton;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.entry);

mButton = (Button)findViewById(R.id.mbutton);

mButton.setOnClickListener(new Button.OnClickListener()

{

public void onClick(View v)

{

Intent intent = new Intent(Entry.this, GoogleSearch.class);

startActivity(intent);}

});

lButton = (Button)findViewById(R.id.mbutton);

lButton.setOnClickListener(new Button.OnClickListener()

{

public void onClick(View v)

{

finish();

}

});}}

Le résultat est que l'application ne plante pas par contre le bouton cliquer pour démarrer quitte l'application et celui pour quitter ne fait rien.

Avec le code du premier message j'arrivais en remplacant la dernière ligne par lbutton et par l'action finish à faire quitter avec le bouton quitter par contre j'arrive pas à créer une deuxième action.

Modifié par splifou
Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...