Android Barre d'outils en Ajoutant des Éléments de Menu pour les différents fragments
J'ai une barre d'outils ainsi que d'un tiroir de navigation. Lorsque je démarre mon application, la barre d'outils de navigation et de tiroir sont créés. Lorsque je clique sur les objets dans le tiroir de navigation, il commence des fragments et conserve la même barre d'outils. Comment puis-je fondamentalement ajouter des éléments de menu de la barre d'outils tels que la recherche, d'ajouter, de modifier, quand je démarre fragments spécifiques? Je ne veux pas qu'au début du programme, mais a créé dynamiquement. Aussi, comment pourrais-je être en mesure de cliquer sur les boutons et les avons lancer d'autres fragments. Je veux qu'il sorte en un seul fragment, le bouton modifier dans la barre d'outils n'est une chose en particulier par rapport au bouton modifier dans un autre fragment. Merci!
Menu_toolbar:
<?xml version="1.0" encoding="utf-8"?>
<menu
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/edit"
android:orderInCategory="1"
android:title="Edit"
app:showAsAction="always"
android:icon="@drawable/pencil_icon"/>
<item android:id="@+id/add"
android:orderInCategory="1"
android:title="Add"
app:showAsAction="always"
android:icon="@drawable/plus_icon"/>
De la barre d'outils:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="55dp"
android:background="#10a1ff"
android:title="Home"
/>
Vous devez vous connecter pour publier un commentaire.
Ajouter un code similaire pour vos fragments:
De cette façon, vous pouvez personnaliser le menu de votre fragments.
menu.clear()
dansonCreateOptionsMenu
- sinon, vous allez hériter du menu de la mère, trop.C'est la façon de créer un menu dynamiquement:
http://www.101apps.co.za/index.php/articles/using-toolbars-in-your-apps.html
Édité:
actionBarToolbar.setOnMenuItemClickListener()
à la poignée de l'élément de menu actions.onOptionsItemSelected()
n'est pas appelé dans cette situation.La meilleure façon de le faire :
1. Trouver la barre d'outils de l'Activité et de la définir comme supportActionBar.
2. Ensuite, Il sera un morceau de gâteau pour gérer les menus d'option pour les différents fragments au cours d'une même Activité.
Faire les choses suivantes dans chaque fragment que vous le souhaitez:
Dans OnCreateView appel de la Méthode
Et Enfin,
Et de gérer les éléments de menu cliquez sur, nous avons onOptionsItemSelected:
Remplacer
onCreateOptionsMenu
méthode dans votre chaque fragment.setTitle()
pouvez ajouter des titres.Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);setSupportActionBar(toolbar);
?J'ai résolu ce problème correctement. Ma solution est que code suivant:
J'ai eu le même problème et j'ai voulu remplacer la barre de menu en conséquence pour le fragment affiche.
Le problème, je vais maintenant confrontés est que le menu est ajoutée à la précédente.
Afin de montrer que le menu pour le fragment, je suggère:
Espère que ça vous aidera.
Ci-dessous sont les étapes pour afficher les différentes options de menu avec les différents fragments.
Etape 1: Appel setHasOptionsMenu(vrai)
Etape 2: Gonflez votre fragment option relative à des éléments de menu.