Jump to content

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);}

}

}

Link to comment
Share on other 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.

Edited by Profete162
Link to comment
Share on other 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();

}

});}}

Link to comment
Share on other 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.

Edited by Profete162
Link to comment
Share on other 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.

Edited by splifou
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...