WEBVTT

00:00.230 --> 00:01.160
Bentornati.

00:01.160 --> 00:04.250
In questo video, creeremo la classe Viewholder.

00:04.250 --> 00:11.480
La classe Viewholder è usata per memorizzare nella cache i riferimenti alle viste all'interno di un layout di elementi, in modo che non debbano

00:11.480 --> 00:14.900
essere cercati ripetutamente durante lo scorrimento.

00:14.900 --> 00:22.280
Senza una classe viewholder, l'adattatore dovrebbe trovare la vista per ID ogni volta che deve accedere a una vista

00:22.310 --> 00:27.410
all'interno del layout, il che può essere costoso in termini di prestazioni.

00:27.410 --> 00:29.800
Per questo utilizziamo la classe Viewholder.

00:29.810 --> 00:35.300
Inizierò a creare la classe Viewholder con una classe statica privata.

00:35.300 --> 00:37.400
Il mio interlocutore.

00:37.400 --> 00:45.710
All'interno dell'adattatore si definisce una classe viewholder che contiene i riferimenti alle viste nel layout dell'elemento.

00:45.710 --> 00:52.520
Andiamo al layout dell'elenco di elementi che abbiamo creato prima e abbiamo due viste di testo, due viste

00:52.520 --> 00:54.530
di testo e una vista immagine.

00:54.530 --> 00:58.220
Ho bisogno di fare riferimento a questi punti di vista.

00:58.220 --> 01:01.100
Visualizzazione del testo Pianeta.

01:06.740 --> 01:12.020
Importare le classi per la vista testo e la vista immagine.

01:12.050 --> 01:14.870
Ora voglio che vi concentriate con me.

01:14.870 --> 01:20.000
Ho bisogno di implementare e sovrascrivere il metodo get to view.

01:20.000 --> 01:28.340
Il metodo get View fa parte della nostra classe adattatore ed è usato per creare e restituire una vista per un elemento specifico

01:28.340 --> 01:33.320
dell'elenco, dato che stiamo estendendo l'adattatore array.

01:33.940 --> 01:36.730
Devo sovrascrivere la vista get.

01:36.730 --> 01:42.820
Quindi digitate get view e fate clic su enter e vedrete che questo è il nostro metodo amico get view.

01:42.850 --> 01:46.030
Il metodo get view richiede tre parametri.

01:46.030 --> 01:52.950
La posizione, di tipo int, converte la vista, di tipo view, e il genitore, di tipo view group.

01:52.960 --> 01:57.850
Nei passi successivi esamineremo questi parametri.

01:57.850 --> 02:04.930
Rimuovo questa dichiarazione di ritorno e inizio con l'ottenere l'elemento di dati per la posizione.

02:04.930 --> 02:11.470
Utilizzerò l'oggetto planet equal per ottenere l'elemento e qui passerò la posizione.

02:11.470 --> 02:19.270
Il metodo get item è un metodo ereditato dalla classe array adapter e viene utilizzato per recuperare l'elemento

02:19.270 --> 02:27.850
di dati, in questo caso il pianeta associato a una posizione specifica nell'elenco dei dati e la posizione è l'indice dell'elemento

02:27.850 --> 02:34.040
per il quale si desidera recuperare l'oggetto pianeta corrispondente.

02:34.040 --> 02:42.350
Il metodo get item prende questo indice come argomento e restituisce l'oggetto pianeta che si trova nella posizione

02:42.350 --> 02:46.070
dell'elenco di dati fornito all'adattatore.

02:46.070 --> 02:52.090
Questo oggetto contiene quindi i dati che devono essere visualizzati nella vista.

02:52.100 --> 02:55.550
Il secondo passo consiste nel gonfiare il layout.

02:55.550 --> 03:00.260
Qui si controlla se una vista esistente viene riutilizzata.

03:00.260 --> 03:02.600
Altrimenti gonfiatene uno nuovo.

03:02.630 --> 03:07.460
Inizierò con un Viewholder, l'istanza della mia classe Viewholder.

03:07.460 --> 03:10.940
Creerò un'istanza della vista chiamata Risultato.
