WEBVTT

00:00.110 --> 00:06.740
Abbiamo già detto che quando si estende l'adattatore della vista recycler, è necessario implementare tre metodi.

00:06.770 --> 00:07.520
Oncreate.

00:07.520 --> 00:08.390
Proprietario della vista.

00:08.420 --> 00:11.390
Sciogliere il Viewholder e ottenere il conteggio degli elementi.

00:11.420 --> 00:13.920
Cominciamo con il Viewholder Oncreate.

00:13.940 --> 00:19.020
È responsabile della creazione di nuovi supporti di visualizzazione per gli elementi.

00:19.040 --> 00:27.170
Viene richiamato da recycler View quando deve creare un nuovo supporto di visualizzazione per un elemento dell'elenco che verrà visualizzato

00:27.170 --> 00:29.030
sullo schermo.

00:29.030 --> 00:36.590
I parametri sono di due tipi: uno di tipo view group e uno di tipo integer.

00:36.620 --> 00:45.050
Il primo parametro è di tipo gruppo di viste in cui verrà eventualmente collocata la nuova vista dell'elemento.

00:45.080 --> 00:52.910
La vista riciclatrice determina il genitore corretto da passare in base al suo layout e alla sua struttura.

00:52.940 --> 00:59.930
Lo scopo di questo parametro è fornire parametri di layout al gonfiatore di layout, in modo che la vista gonfiata possa essere

01:00.030 --> 01:04.410
dimensionata e posizionata correttamente all'interno del suo genitore.

01:04.410 --> 01:07.170
E questo è ciò che abbiamo fatto in precedenza.

01:07.170 --> 01:09.660
Utilizziamo questo parametro del gruppo di visualizzazione.

01:09.690 --> 01:13.410
Il secondo parametro è di tipo int, chiamato tipo di vista.

01:13.440 --> 01:20.370
Il parametro del tipo di vista viene utilizzato quando la vista del riciclatore ha più tipi di elementi.

01:20.370 --> 01:27.590
Questo può essere utile quando si ha bisogno di layout o comportamenti diversi per diversi tipi di elementi.

01:27.600 --> 01:34.650
Ad esempio, se l'adattatore gestisce diversi layout di elementi per intestazioni, piè di pagina e elementi normali,

01:34.650 --> 01:38.940
si può usare il parametro tipo di vista per distinguerli.

01:38.940 --> 01:46.890
Nella maggior parte dei casi, non sarà necessario utilizzare questo parametro, che potrà essere impostato su un valore costante

01:46.890 --> 01:48.240
nei prossimi video.

01:48.240 --> 01:54.060
Quando ci occupiamo dei tipi di vista del riciclatore, useremo il parametro del tipo di vista.

01:54.090 --> 01:58.170
Il secondo metodo si chiama Sbloccare il Viewholder.

01:58.170 --> 02:08.910
È responsabile del binding dei dati dell'insieme di dati alle viste all'interno di un contenitore di viste per un elemento specifico.

02:08.910 --> 02:11.790
Questo metodo viene richiamato dalla vista del riciclatore.

02:11.820 --> 02:14.880
Quando una voce sta per essere visualizzata sullo schermo.

02:14.880 --> 02:21.720
Questo metodo prende due tipi di parametri, uno di tipo viewholder e uno di tipo int.

02:21.750 --> 02:29.820
Il parametro holder è un'istanza della classe personalizzata view holder, creata in precedenza, che contiene i riferimenti

02:29.820 --> 02:33.130
alle viste nel layout dell'elemento.

02:33.150 --> 02:39.150
Questo supporto è stato creato e restituito dal metodo Oncreate Viewholder.

02:39.150 --> 02:44.570
Si utilizza questo supporto per accedere e manipolare le viste all'interno del layout dell'elemento.

02:44.580 --> 02:48.720
Il secondo parametro è di tipo int e si chiama posizione.

02:48.750 --> 02:55.500
Il parametro position indica la posizione dell'elemento nell'insieme di dati a cui è necessario associare le

02:55.500 --> 02:56.040
viste.

02:56.040 --> 03:02.490
Questa posizione corrisponde alla posizione dell'elemento nell'elenco che la vista riciclatore sta

03:02.490 --> 03:03.540
visualizzando.

03:03.540 --> 03:07.590
Creiamo qui un'istanza della nostra classe Model.

03:07.620 --> 03:13.740
Elemento elemento Elenco di elementi uguali punto ottenere posizione.

03:13.740 --> 03:19.620
Uso questo parametro, poi userò il parametro di supporto dot.

03:19.620 --> 03:27.630
Accederò alla vista di testo da inizializzare e farò dei riferimenti nella nostra classe statica.

03:27.630 --> 03:37.350
Quindi mi sposterò nel mio contenitore di viste e farò i riferimenti per le nostre viste, che sono una vista immagine e due

03:37.350 --> 03:38.520
viste testo.

03:38.520 --> 03:41.250
Quindi devo iniziare con la visualizzazione dell'immagine.

03:41.280 --> 03:48.690
Vista immagine alt più invio per importare il pacchetto del widget e importare la classe della vista immagine

03:48.690 --> 03:50.700
e delle due viste testo.

03:53.090 --> 04:02.630
Alt+ enter importa il pacchetto della vista testo e qui sotto il super nel costruttore del mio viewholder, imposterò

04:02.630 --> 04:15.050
la vista immagine uguale alla vista item dot find view by id r. id punto immagine vista testo o titolo.

04:15.050 --> 04:17.090
Visualizzazione dell'articolo uguale.

04:21.140 --> 04:28.340
Il Viewholder è una classe che contiene i riferimenti alle viste all'interno del layout dell'elemento.

04:28.340 --> 04:36.920
È responsabile del miglioramento delle prestazioni, evitando chiamate ridondanti ai metodi di ricerca delle viste in base all'ID

04:36.920 --> 04:40.640
e accedendo e aggiornando le viste in modo efficiente.

04:40.640 --> 04:48.890
Queste sono le variabili membro che memorizzano i riferimenti alle viste immagine, vista e testo all'interno del layout dell'elemento.

04:48.890 --> 04:56.510
Memorizzando i riferimenti a queste viste, si evita di dover richiamare la ricerca delle viste per ID ogni volta che è necessario

04:56.510 --> 04:58.430
accedervi o aggiornarle.

04:58.430 --> 05:03.170
Questo è il costruttore, la super e gli passo la vista dell'oggetto.

05:03.200 --> 05:11.720
Questa riga chiama il costruttore della superclasse recycler view dot viewholder e gli passa il parametro

05:11.780 --> 05:13.190
item view.

05:13.190 --> 05:22.310
Questo inizializza il Viewholder con la vista principale del layout dell'elemento e con questa riga di codice.

05:22.310 --> 05:29.780
Usare il metodo trova vista per ID per trovare e assegnare le viste immagine, vista e testo all'interno della vista elemento.

05:29.780 --> 05:38.330
In questo modo, nel costruttore si eseguono le ricerche sulla vista solo una volta, quando il supporto della vista viene

05:38.330 --> 05:44.630
creato e non ogni volta che l'elemento viene legato nel metodo on bind Viewholder.

05:44.630 --> 05:51.260
Creando un contenitore di viste personalizzato che contiene i riferimenti alle viste all'interno del layout dell'elemento,

05:51.260 --> 05:54.650
si ottimizzano le prestazioni della vista riciclatore.

05:54.650 --> 06:02.540
Il view holder funge da cache per le viste, consentendo di accedere e manipolare in modo efficiente le viste

06:02.540 --> 06:05.000
durante il processo di binding.

06:05.000 --> 06:12.830
Questa separazione delle preoccupazioni aiuta a mantenere il codice reattivo, soprattutto quando si ha a che fare con grandi insiemi

06:12.830 --> 06:13.820
di dati.
