Comment ajouter des actions a mes boutons de l'ActionBar

Résolu/Fermé
guineeguinee Messages postés 191 Date d'inscription jeudi 8 décembre 2016 Statut Membre Dernière intervention 30 août 2023 - 16 avril 2017 à 19:16
guineeguinee Messages postés 191 Date d'inscription jeudi 8 décembre 2016 Statut Membre Dernière intervention 30 août 2023 - 24 avril 2017 à 11:13
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!
A voir également:

12 réponses

Boumekhila Moufdi Messages postés 13 Date d'inscription vendredi 12 décembre 2008 Statut Membre Dernière intervention 17 avril 2017 1
17 avril 2017 à 21:11
normalement c'est la méthode onClick() c'est elle qui peut rendre des action a des bouton :)
1
BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 3 894
19 avril 2017 à 09:04
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
BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 3 894
18 avril 2017 à 10:02
0
guineeguinee Messages postés 191 Date d'inscription jeudi 8 décembre 2016 Statut Membre Dernière intervention 30 août 2023 38
18 avril 2017 à 14:48
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 3 894
18 avril 2017 à 15:31
ça ne marche pas, c'est-à-dire?
As-tu implémenté la méthode
onOptionsItemSelected(MenuItem item)
?
0
guineeguinee Messages postés 191 Date d'inscription jeudi 8 décembre 2016 Statut Membre Dernière intervention 30 août 2023 38
Modifié le 18 avril 2017 à 15:48
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);
0
BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 3 894
18 avril 2017 à 17:26
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;
0
guineeguinee Messages postés 191 Date d'inscription jeudi 8 décembre 2016 Statut Membre Dernière intervention 30 août 2023 38
18 avril 2017 à 17:35
...le code lié à la recherche, ca veut dire ?
0
guineeguinee Messages postés 191 Date d'inscription jeudi 8 décembre 2016 Statut Membre Dernière intervention 30 août 2023 38
22 avril 2017 à 16:38
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.
0
BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 3 894
24 avril 2017 à 09:28
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;

0
guineeguinee Messages postés 191 Date d'inscription jeudi 8 décembre 2016 Statut Membre Dernière intervention 30 août 2023 38
24 avril 2017 à 10:39
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?
0
BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 3 894
24 avril 2017 à 10:48
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()
0
guineeguinee Messages postés 191 Date d'inscription jeudi 8 décembre 2016 Statut Membre Dernière intervention 30 août 2023 38
24 avril 2017 à 11:13
Merci
0