2017-11-27 1 views
0

Ich habe zwei Fragmente, eines ist für Ordner und andere ist für Fotos im Tab-Layout. Fotos Fragment haben viele Fotos, wenn ich ein Element auswählen (Bild) Ich möchte ganz die Symbolleiste ändern wieWie ändert man die Werkzeugleiste in einem Fragment?

unter

enter image description here

, wie ich dies tun und müssen Klicks Ereignisse auf Symbolleiste hören?

+0

Verwendung getActivity() mit Mutter Aktivität comunicate. – ADM

+0

aber wie man die Werkzeugleiste komplett ändert –

+0

Die Werkzeugleiste gehört zur Container-Aktivität, nicht zu den Fragmenten. –

Antwort

0

legt es nur in Ihrem Fragmente mit der ID Ihre Actvity Symbolleiste erhalten und die Symbolleiste gesetzt, wie u in Ihrem Fragmente gewünschte

Toolbar toolbar = (Toolbar) getActivity().findViewById(R.id.toolbar); 
toolbar.setTitle("title"); 
0

, wenn Sie von Fragmente der Symbolleiste ändern mögen, unter Code sein kann, helfen Ihnen.

Add-Symbolleiste in Ihrem Fragment xml und dann können Sie Symbolleiste Ihrer Aktivitäten wie dies ändern,

Toolbar toolbar = view.findViewById(R.id.toolbar); 
((MainActivity) getActivity()).getSupportActionBar().hide(); 

((MainActivity) getActivity()).setSupportActionBar(toolbar); 
0
  • Wenn ein Ereignis eintritt, und Sie möchten ein Menü-Update durchführen zu können, müssen invalidateOptionsMenu() aufrufen um zu fordern, dass das System onPrepareOptionsMenu() aufruft.
  • Sie sollten onCreateOptionsMenu() jedoch nur verwenden, um den anfänglichen Menüstatus zu erstellen und während des Aktivitätslebenszyklus keine Änderungen vorzunehmen.
  • Wenn Sie das Optionsmenü basierend auf Ereignissen ändern möchten, die während des Aktivitätszyklus auftreten, können Sie dies in der onPrepareOptionsMenu() -Methode tun. Diese Methode übergibt Ihnen das Menüobjekt, so wie es derzeit vorhanden ist, sodass Sie es ändern können, z. B. Elemente hinzufügen, entfernen oder deaktivieren. (Fragmente auch eine onPrepareOptionsMenu() Callback bieten.)

Read Documentation click here.

Verwandte Themen