Sobes.tech
Junior

A cosa servono i frammenti se le Activity esistono già?

sobes.tech AI

Risposta dell'AI

I frammenti consentono di creare componenti modulari e riutilizzabili dell'interfaccia utente all'interno di un'Activity.

Vantaggi principali:

  • Flessibilità dell'UI: Creare facilmente diverse configurazioni dell'UI per diverse dimensioni dello schermo e orientamenti (tablet vs telefono).
  • Riutilizzabilità: Lo stesso frammento può essere utilizzato in più Activity o più volte in una stessa Activity.
  • Gestione del ciclo di vita: I frammenti hanno il proprio ciclo di vita, che è collegato a quello dell'Activity, ma viene gestito separatamente.
  • Navigazione: Utile per implementare flussi di navigazione complessi all'interno di una stessa Activity (ad esempio, con Navigation Component).
  • Gestione dello stato: Permettono di salvare lo stato di una parte dell'UI durante cambi di configurazione o navigazioni all'interno dell'Activity.

Esempio di utilizzo per tablet (master-detail):

Pannello sinistro (lista di elementi) Pannello destro (dettagli dell'elemento selezionato)
ItemListFragment ItemDetailFragment

Esempio di codice per aggiungere un frammento in un'Activity:

// Nell'Activity
supportFragmentManager.beginTransaction()
    .replace(R.id.fragment_container, YourFragment.newInstance())
    .commit()