Comment ajouter des actions a mes boutons de l'ActionBar [Résolu/Fermé]

Signaler
Messages postés
160
Date d'inscription
jeudi 8 décembre 2016
Statut
Membre
Dernière intervention
3 juin 2020
-
Messages postés
160
Date d'inscription
jeudi 8 décembre 2016
Statut
Membre
Dernière intervention
3 juin 2020
-
Salut a tous,
J'ai un petit souci avec les boutons que j'ai ajouté dans mon action bar, e, fait j'ai ajouté un bouton "recherche", un bouton "partager" (qui partagera l'appli sur facebook) et un bouton "à propos" (qui ouvrira une autre activité où est affiché bon nombre d'infos sur l'appli).
J'ai ajouté les boutons, qui apparaissent sur mes écrans mais quand je cliques dessus, rien ne se passe, je voudrais de l'aide sur comment arriver à cet objectif pour que par exemple quand je cliques sur "recherche", un EditText s'affiche qui permet de saisir notre texte à rechercher.
Merci d'avance!

12 réponses

Messages postés
15
Date d'inscription
vendredi 12 décembre 2008
Statut
Membre
Dernière intervention
17 avril 2017
1
normalement c'est la méthode onClick() c'est elle qui peut rendre des action a des bouton :)
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 78059 internautes nous ont dit merci ce mois-ci

Messages postés
14974
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
4 juin 2020
2 149
Je cite:
par exemple quand je cliques sur "recherche", un EditText s'affiche qui permet de saisir notre texte à rechercher.
C'est ce que j'appelle "le code lié à la recherche". Là, ton menu ne fait rien. Tu as juste le squelette pour récupérer les clicks sur les options du menu. A toi de compléter.
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 78059 internautes nous ont dit merci ce mois-ci

Messages postés
14974
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
4 juin 2020
2 149
Messages postés
160
Date d'inscription
jeudi 8 décembre 2016
Statut
Membre
Dernière intervention
3 juin 2020
29
Merci Buno et Boumekhila,
j'ai utilisé ta methode Buno, mais ca ne marche toujours pas, je ne sais pas si cela n'est pas dû au fait que j'ai un autre bouton "retour" dans l'ActionBar avec la flèche de retour, qui au contraire marche bien.
Messages postés
14974
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
4 juin 2020
2 149
ça ne marche pas, c'est-à-dire?
As-tu implémenté la méthode
onOptionsItemSelected(MenuItem item)
?
Messages postés
160
Date d'inscription
jeudi 8 décembre 2016
Statut
Membre
Dernière intervention
3 juin 2020
29
Oui
Quand je cliques sur les boutons rien ne se passe toujours pas!
Voici une partie du code

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_hunorde);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
getMenuInflater().inflate(R.menu.menu, menu);
return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_search:
return true;
case R.id.menu_share:
return true;
case R.id.menu_propos:
return true;

default:
return super.onOptionsItemSelected(item);
Messages postés
14974
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
4 juin 2020
2 149
Ah oui...L'appli fait exactement ce que tu demandes ;)

case R.id.menu_search:
   //ici, il faut mettre le code lié à la recherche
   return true;
case R.id.menu_share:
  // ici, le code lié au partage
  return true;
case R.id.menu_propos:
  // ici, le code lié à "à propos"
  return true;
Messages postés
160
Date d'inscription
jeudi 8 décembre 2016
Statut
Membre
Dernière intervention
3 juin 2020
29
...le code lié à la recherche, ca veut dire ?
Messages postés
160
Date d'inscription
jeudi 8 décembre 2016
Statut
Membre
Dernière intervention
3 juin 2020
29
Je ne parviens toujours pas à voir comment faire marcher cela, donc je demande encore d'être guidé.
J'ai supprimé le bouton "recherche", pour n'avoir que deux boutons maintenant "Partager" (qui partage du texte et un lien de l'application sur facebook ou twitter) et "A propos".
Merci de me dire clairement comment les configurer en Java.
Messages postés
14974
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
4 juin 2020
2 149
On ne va pas pouvoir faire plus à ta place, là...
Tu as un menu. Tu as le squelette de la fonction qui est appelée lorsque l'utilisateur appuie sur un bouton. Il te reste à écrire le code correspondant à l'action que tu veux faire. Ceci se fait à la place des commentaires que j'ai mis dans le bout de code précédent.
Par exemple, si tu veux afficher un Toast lorsque l'utilisateur appuie sur le bouton "à propos":
case R.id.menu_search:
   //ici, il faut mettre le code lié à la recherche
   return true;
case R.id.menu_share:
  // ici, le code lié au partage
  return true;
case R.id.menu_propos:
  // ici, le code lié à "à propos"
  Toast.makeText(this, "coucou", Toast.LENGTH_SHORT).show();
  return true;

Messages postés
160
Date d'inscription
jeudi 8 décembre 2016
Statut
Membre
Dernière intervention
3 juin 2020
29
Je veux pas ajouter un Toast parce que le texte disparaît au bout de quelques secondes, j'ai créé un layout et je voudrais rediriger vers ce layout si on cliques sur le bouton "a propos", est-ce possible?
Messages postés
14974
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
4 juin 2020
2 149
J'ai écrit par exemple.
Après, tu fais ce que tu veux. Bien sûr qu'afficher un autre layout est possible, il suffit de lancer une autre Activity par exemple: startActivity()
Messages postés
160
Date d'inscription
jeudi 8 décembre 2016
Statut
Membre
Dernière intervention
3 juin 2020
29
Merci