2015-04-22 15 views
5

Ho un'attività principale con un layout Fragment. Il cassetto ha 3 possibilità:Come disattivare il cassetto nel frammento e il retro sul frammento corretto

Fragment[1], Fragment[2], Fragment[3].

All'interno Frammento [2] e frammenti [3] è un pulsante. Questo pulsante apre altri frammenti. Frammento [4].

Desidero Frammento [4] senza cassetto ma con un pulsante indietro.

Questo è il codice onClick nel Frammento [2]

Fragment fragment = new InstalacionesEncontradasFragment(); 
Bundle bundle = new Bundle(); 
bundle.putSerializable("key", this.instalacionesConCategorias); 
fragment.setArguments(bundle); 
FragmentManager fragmentManager = getFragmentManager(); 

FragmentTransaction mFragmentTransaction = fragmentManager.beginTransaction(); 
mFragmentTransaction.addToBackStack(null); 
mFragmentTransaction.replace(R.id.main_frame_container, fragment, "ACTIVIDADES").commit(); 

E nel Frammento [4]

metodo onCreate:

getActivity().getActionBar().setDisplayHomeAsUpEnabled(true); 

Ma questa soluzione non funziona.

Come disabilitare il cassetto? Dove dovrei implementare il pulsante Indietro? In Fragment [2] o Fragment [3]?

risposta

9
  1. È possibile utilizzare:

    mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED); 
    

    Ciò bloccare l'apertura del cassetto swipe

  2. Aggiungere la riga

    getActivity().getActionBar().setDisplayHomeAsUpEnabled(true); 
    

in attività che rende tutti i frammenti di Lik e Frammento 1, 2,3 e 4. Potrebbe essere nel tuo caso, Frammento 4 proviene da attività diverse da Frammento 2. Quindi, il pulsante Indietro non funziona

+0

Dove scrivo 'mDrawerLayout.setDrawerLockMode (DrawerLayout.LOCK_MODE_LOCKED_CLOSED); 'Fragment [4] non ha dichiarato mDrawerLayout – aldakur

+0

Passa la variabile a' fragment4' o usala facendo 'static' – Kushal

+0

Grazie. 'public static DrawerLayout mDrawerLayout;' nell'Attività principale è una buona soluzione. Quindi lo istanziamo come 'public DrawerLayout mDrawerLayout = Main.mDrawerLayout;' in Fragment [4]. Va bene? – aldakur

Problemi correlati