Sostituire il layout della barra degli strumenti in base al frammento visualizzato

Ho un'attività con il cassetto di navigazione che sostituisce il main_fragment_container sull'attività. Quando viene visualizzato uno dei frammenti, vorrei cambiare il layout della barra degli strumenti e aggiungere un filatore (e rimuoverlo quando il frammento è nascosto).

Il mio layout sembra così:

  • Android Studio Gradle Errore nel tempo di compilazione
  • Ottieni il risultato finale dalla calcolatrice native di Android
  • Inserimento dati in Calendario dalla mia applicazione - inserimento nel compleanno anziché events o promemory
  • come faccio ad aggiungere un collegamento ipertestuale nel messaggio sms nel telefono android?
  • Trasferire i dati da un'attività a un'altra attività utilizzando intenti
  • Condividere il text e l'image insieme utilizzando Facebook SDK in Android
  • <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:sothree="http://schemas.android.com/apk/res-auto" android:id="@+id/main_parent_view" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:fitsSystemWindows="true"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" sothree:theme="@style/AppTheme.ActionBar" /> <android.support.v4.widget.DrawerLayout android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent"> <!-- Main layout --> <FrameLayout android:id="@+id/main_fragment_container" android:layout_width="match_parent" android:layout_height="match_parent" /> <!-- Nav drawer --> <fragment android:id="@+id/fragment_drawer" android:name="com.idob.mysoccer.ui.DrawerFragment" android:layout_width="@dimen/navigation_drawer_width" android:layout_height="match_parent" android:layout_gravity="left|start" /> </android.support.v4.widget.DrawerLayout> 

  • Beneficio di utilizzare Parcelable invece di serializzare l'object
  • Impedire l'attività di ricarica dopo la rotazione in xamarin, monodroidi
  • creazione di un menu dopo un evento a lungo click in una vista di elenco
  • Compressione video veloce su Android
  • Quali sono i tipi di intenti possibili per intent.setType (tipo)?
  • errore: Errore durante il recupero di genitore per elemento: nessuna risorsa trovata che corrisponde al nome specifico 'android: Theme.Holo'
  • One Solution collect form web for “Sostituire il layout della barra degli strumenti in base al frammento visualizzato”

    Non sei sicuro di quello che stai cercando di realizzare, ma credo che, se ansible, dovresti avvicinarlo lasciando i frammenti personalizzando la tua barra degli strumenti piuttosto che sostituirla. Puoi lasciare che i tuoi frammenti nascondano / visualizzino viste sulla barra degli strumenti a seconda delle tue esigenze.

    Aggiungi setHasOptionsMenu(true); nei frammenti OnCreateView() e quindi sovrascrivere onOptionsMenuCreated()

    Come questo:

     @Override public View onCreateView (LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { setHasOptionsMenu(true); return inflater.inflate(R.layout.result_list, container, false); } @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { inflater.inflate(R.menu.this_frag_menu, menu); super.onCreateOptionsMenu(menu, inflater); } 

    Se è necessario fare cose più specifiche con la barra degli strumenti è ansible get l'istanza utilizzando

    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.