FragmentTransaction all'interno di un frammento

Sto usando jfeinstien10's SlidingMenu . Il menu che estrae è un Fragment . Quando l'utente fa clic su una voce di menu, fa qualcosa di simile:

 FragmentTransaction t = getActivity().getSupportFragmentManager().beginTransaction(); SherlockListFragment mFrag = new ItemsFragment(); t.replace(R.id.main_frag, mFrag); t.commit(); 

Tuttavia, ho sentito che non è una buona pratica controllare un Fragment un altro Fragment . In una situazione come questa, è questo un metodo accettabile? Oppure dovrei utilizzare un metodo di richiamata per il FragmentActivity padre.

  • L'impostazione di vibrazione non si spegne durante la ricezione della chiamata in arrivo - Android
  • Libreria di visualizzatore di Android PDF
  • Cocos vs AndEngine per android
  • condividi l'intento tramite Facebook per il fagiolo di gelatina android
  • intent setFlags FLAG_ACTIVITY_CLEAR_TOP
  • SQLite lettura e scrittura simultanee
  • Se un metodo di richiamata è il modo giusto, posso vedere un esempio di come funziona?

  • Cambiare l'image in immagini utilizzando Threads
  • Come forzare la class derivata per call il metodo super? (Come Android fa)
  • Android-Listview visualizza gli elementi di background che cambiano quando lo scorrimento
  • può utilizzare httpClient in Android Studio?
  • Android registra video senza audio
  • Come utilizzare Android xliff: g
  • One Solution collect form web for “FragmentTransaction all'interno di un frammento”

    Invece di eseguire transactions in frammento, ti suggerisco di lasciarla fino a livello di attività. A tal fine, definisci un metodo pubblico nell'attività e quindi lo chiami dal tuo frammento. Per esempio:

    Supponiamo che la tua attività sia:

     class MainActivity extends Activity{ .... public void replaceFragment(){ FragmentTransaction t = getSupportFragmentManager().beginTransaction(); SherlockListFragment mFrag = new ItemsFragment(); t.replace(R.id.main_frag, mFrag); t.commit(); } .... } 

    E nel tuo frammento, effettuare la seguente chiamata:

     ((MainActivity)getActivity()).replaceFragment(); 
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.