È necessario un adattatore per fornire al viewpager il contenuto da visualizzare.
A tale scopo, creerò una nuova classe Java e la chiamerò adattatore Viewpager For fragments.
In genere si utilizzano le classi adattatore pagatore di frammenti o adattatore pagatore di stato di frammenti.
Questi adattatori gestiscono il ciclo di vita dei frammenti durante la navigazione dell'utente.
Per la versione numero uno della libreria Viewpager, classi di adattatori basati su frammenti che ereditano da fragment, pager
adapter o fragment state pager adapter.
Quindi, se digito extend, è possibile vedere l'adattatore del cercapersone del frammento e l'adattatore dello stato del frammento.
Questi sono deprecati perché non sto usando la versione numero uno della libreria Viewpager, ma la seconda.
È una versione migliore e migliorata di Viewpager.
Per questo utilizzerò l'adattatore di stato dei frammenti, che è importato dal pacchetto Viewpager due.
Ho bisogno di implementare i metodi, creare il frammento e ottenere il metodo di conteggio degli elementi.
Poi devo creare un costruttore che corrisponda al genitore e utilizzerò questo gestore di frammenti.
Ho questi due metodi: get item count e create fragment.
Cominciamo con il metodo create fragment.
Questo metodo è responsabile della creazione e della restituzione di un frammento per una posizione specifica all'interno
del Viewpager due.
Lo scopo di questo metodo è creare una nuova istanza di un frammento in base al parametro posizione.
Si può notare che questo è il parametro di posizione per ogni posizione o pagina Nel Viewpager due si definisce quale
frammento deve essere visualizzato.
In genere si restituisce una nuova istanza della classe di frammento appropriata.
Ad esempio, se si dispone di un elenco di classi di frammenti, come page fragment, si potrebbe restituire una nuova istanza
di page fragment per ogni posizione.
Ora voglio che vi concentriate con me perché vi insegnerò un concetto molto importante nell'uso
del Viewpager due.
È necessario creare un elenco di frammenti e gestire i metodi create fragment e get item
count e creare un ponte tra questi due metodi e l'array di frammenti.
Per questo creerò un elenco privato di frammenti e lo chiamerò elenco di frammenti uguale a Alt+.
Immettere per importare l'elenco di array da Java. pacchetto util Nuovo elenco di array.
Perché sto creando questo elenco di array.
Poiché ho creato tre frammenti, ho bisogno di aggiungerli all'elenco e quando utilizzo il metodo create fragment, devo ottenere
la posizione corretta del frammento dall'elenco e visualizzarla e il metodo get item count deve restituire la dimensione
dell'elenco dei frammenti come parametro di ritorno e tipo di ritorno di questo metodo.
Quindi utilizzerò questo elenco di array più tardi nell'attività principale per aggiungere i frammenti come elementi di questo elenco.
Poi devo restituire l'elenco di frammenti dot get e qui devo passare il parametro position che viene passato per
il metodo create fragment.
Anche in questo caso, il metodo create Fragment è responsabile della creazione e della restituzione di un frammento per una posizione
specifica all'interno del Viewpager due e l'ottenimento della posizione specifica avviene dall'elenco dei frammenti,
che contiene un elenco di frammenti.
Quindi il tipo di ritorno di questo metodo dovrebbe essere un metodo di conteggio degli elementi del frammento.
Questo metodo ha il compito di restituire il numero totale di elementi, elementi o frammenti che verranno visualizzati
nel Viewpager due È possibile restituire tre.
Ma non preferisco questo modo.
Devo usare la dimensione del punto dell'elenco di frammenti e qui restituisco la dimensione dell'elenco di frammenti come gli elementi che
dovrei visualizzare nel Viewpager due.
Creerò un nuovo metodo che non sia sovrascritto.
Lo chiamerò frammento di aggiunta.
Quindi public void add fragment e passerò un parametro fragment.
Utilizzerò il metodo fragment list dot add e aggiungerò questo frammento per consentire all'attività principale
di aggiungere i tre frammenti che ho creato.
Quindi, ogni volta che si crea un nuovo frammento, si dovrebbe aggiungere questo frammento all'elenco dei frammenti, consentendo
poi all'adattatore del mio viewpager di visualizzarlo e di restituire un frammento per uno specifico.
Posizionarsi all'interno del viewpager utilizzando il punto dell'elenco dei frammenti per ottenere la posizione.