Ecco dove i fragments diventano molto comodi:
Essi possono portare:
- Modularità: dividendo il codice di activity complesse tra fragments per una migliore organizzazione e manutenzione
- Riusabilità: Inserire il comportamento delle parti della UI in dei fragments che diverse activities possono condividere
- Adattabilità: rappresentare sezioni della UI come diversi fragments e usando diversi layout in base all’orientamento e alla dimensione dello schermo
- Un Fragment rappresenta un comportamento o una porzione di UI in una Activity
- E’ possibile combinare diversi fragments in una singola activity per costruire una UI multi-pane ed possibile riutilizzare un fragment in diverse activities
- Un fragment deve sempre essere embedded in una activity e il suo lifecycle è direttamente influenzato da quello della activity che lo ospita
- Un fragment vive come parte del layout dell’activity come un
ViewGroup
- I fragments possono definire i loro layout
- E’ possibile dichiarare fragments nel layout come elementi
<fragment>
, oppure dal codice aggiungendoli a ViewGroup
esistenti
Ciclo di vita dei fragments
-
Un fragment viene creato come sottoclasse della classe Fragment
(o di una sottoclasse già esistente di essa). La classe Fragment
ha un codice molto simile a quello di una Activity, e contiene in modo molto simile gli stessi metodi di callback, come
- onCreate()
- onStart()
- onPause()
- onStop()
Un fragmnt ha il suo lifecycle, ma è sempre connesso a quello dell’activity che lo utilizza
Creare fragments
Per creare dei Fragments, generalmente si fa come segue: