WEBVTT

00:00.290 --> 00:05.720
È necessario un adattatore per fornire al viewpager il contenuto da visualizzare.

00:05.750 --> 00:14.120
A tale scopo, creerò una nuova classe Java e la chiamerò adattatore Viewpager For fragments.

00:14.120 --> 00:20.470
In genere si utilizzano le classi adattatore pagatore di frammenti o adattatore pagatore di stato di frammenti.

00:20.480 --> 00:26.030
Questi adattatori gestiscono il ciclo di vita dei frammenti durante la navigazione dell'utente.

00:26.030 --> 00:33.830
Per la versione numero uno della libreria Viewpager, classi di adattatori basati su frammenti che ereditano da fragment, pager

00:33.830 --> 00:36.650
adapter o fragment state pager adapter.

00:36.650 --> 00:43.730
Quindi, se digito extend, è possibile vedere l'adattatore del cercapersone del frammento e l'adattatore dello stato del frammento.

00:43.760 --> 00:53.210
Questi sono deprecati perché non sto usando la versione numero uno della libreria Viewpager, ma la seconda.

00:53.210 --> 00:56.930
È una versione migliore e migliorata di Viewpager.

00:56.930 --> 01:05.450
Per questo utilizzerò l'adattatore di stato dei frammenti, che è importato dal pacchetto Viewpager due.

01:05.450 --> 01:11.380
Ho bisogno di implementare i metodi, creare il frammento e ottenere il metodo di conteggio degli elementi.

01:11.390 --> 01:19.790
Poi devo creare un costruttore che corrisponda al genitore e utilizzerò questo gestore di frammenti.

01:19.790 --> 01:25.140
Ho questi due metodi: get item count e create fragment.

01:25.160 --> 01:27.650
Cominciamo con il metodo create fragment.

01:27.650 --> 01:34.160
Questo metodo è responsabile della creazione e della restituzione di un frammento per una posizione specifica all'interno

01:34.160 --> 01:35.180
del Viewpager due.

01:35.180 --> 01:41.810
Lo scopo di questo metodo è creare una nuova istanza di un frammento in base al parametro posizione.

01:41.810 --> 01:49.100
Si può notare che questo è il parametro di posizione per ogni posizione o pagina Nel Viewpager due si definisce quale

01:49.100 --> 01:51.530
frammento deve essere visualizzato.

01:51.530 --> 01:56.390
In genere si restituisce una nuova istanza della classe di frammento appropriata.

01:56.390 --> 02:03.750
Ad esempio, se si dispone di un elenco di classi di frammenti, come page fragment, si potrebbe restituire una nuova istanza

02:03.750 --> 02:06.420
di page fragment per ogni posizione.

02:06.420 --> 02:14.070
Ora voglio che vi concentriate con me perché vi insegnerò un concetto molto importante nell'uso

02:14.070 --> 02:16.020
del Viewpager due.

02:16.050 --> 02:22.980
È necessario creare un elenco di frammenti e gestire i metodi create fragment e get item

02:22.980 --> 02:28.860
count e creare un ponte tra questi due metodi e l'array di frammenti.

02:28.860 --> 02:39.810
Per questo creerò un elenco privato di frammenti e lo chiamerò elenco di frammenti uguale a Alt+.

02:39.810 --> 02:45.930
Immettere per importare l'elenco di array da Java. pacchetto util Nuovo elenco di array.

02:45.960 --> 02:48.450
Perché sto creando questo elenco di array.

02:48.450 --> 02:56.880
Poiché ho creato tre frammenti, ho bisogno di aggiungerli all'elenco e quando utilizzo il metodo create fragment, devo ottenere

02:56.880 --> 03:04.410
la posizione corretta del frammento dall'elenco e visualizzarla e il metodo get item count deve restituire la dimensione

03:04.410 --> 03:11.550
dell'elenco dei frammenti come parametro di ritorno e tipo di ritorno di questo metodo.

03:11.550 --> 03:19.230
Quindi utilizzerò questo elenco di array più tardi nell'attività principale per aggiungere i frammenti come elementi di questo elenco.

03:19.230 --> 03:28.050
Poi devo restituire l'elenco di frammenti dot get e qui devo passare il parametro position che viene passato per

03:28.050 --> 03:30.510
il metodo create fragment.

03:30.510 --> 03:38.070
Anche in questo caso, il metodo create Fragment è responsabile della creazione e della restituzione di un frammento per una posizione

03:38.070 --> 03:44.850
specifica all'interno del Viewpager due e l'ottenimento della posizione specifica avviene dall'elenco dei frammenti,

03:44.850 --> 03:47.190
che contiene un elenco di frammenti.

03:47.190 --> 03:53.760
Quindi il tipo di ritorno di questo metodo dovrebbe essere un metodo di conteggio degli elementi del frammento.

03:53.760 --> 04:01.500
Questo metodo ha il compito di restituire il numero totale di elementi, elementi o frammenti che verranno visualizzati

04:01.500 --> 04:05.010
nel Viewpager due È possibile restituire tre.

04:05.010 --> 04:07.350
Ma non preferisco questo modo.

04:07.350 --> 04:16.440
Devo usare la dimensione del punto dell'elenco di frammenti e qui restituisco la dimensione dell'elenco di frammenti come gli elementi che

04:16.440 --> 04:19.350
dovrei visualizzare nel Viewpager due.

04:19.350 --> 04:23.730
Creerò un nuovo metodo che non sia sovrascritto.

04:23.730 --> 04:26.430
Lo chiamerò frammento di aggiunta.

04:26.430 --> 04:32.700
Quindi public void add fragment e passerò un parametro fragment.

04:32.700 --> 04:42.090
Utilizzerò il metodo fragment list dot add e aggiungerò questo frammento per consentire all'attività principale

04:42.090 --> 04:46.260
di aggiungere i tre frammenti che ho creato.

04:46.260 --> 04:53.640
Quindi, ogni volta che si crea un nuovo frammento, si dovrebbe aggiungere questo frammento all'elenco dei frammenti, consentendo

04:53.640 --> 04:59.640
poi all'adattatore del mio viewpager di visualizzarlo e di restituire un frammento per uno specifico.

04:59.680 --> 05:04.420
Posizionarsi all'interno del viewpager utilizzando il punto dell'elenco dei frammenti per ottenere la posizione.
