WEBVTT

00:00.340 --> 00:03.220
Continuiamo con il mio adattatore personalizzato.

00:03.220 --> 00:09.490
Nel video precedente abbiamo creato il mio costruttore di adattatore personalizzato con questi due parametri, l'elenco di array

00:09.490 --> 00:12.100
Shapes, che è l'origine dei dati e il contesto.

00:12.100 --> 00:20.430
Poi abbiamo creato questa classe statica Viewholder che abbina i riferimenti alla vista immagine e alla vista testo.

00:20.440 --> 00:28.060
In questo video creeremo il metodo Get View per personalizzare il tipo di vista utilizzato per l'oggetto

00:28.060 --> 00:33.370
dati, sovrascriveremo il metodo get view e gonfieremo una risorsa view.

00:33.370 --> 00:41.200
Inizierò quindi con get a view, cliccando su enter e vedrete che questo è il nostro metodo get view.

00:41.200 --> 00:47.110
Rimuovo questa dichiarazione di ritorno e inizio con la mia vista get personalizzata.

00:47.110 --> 00:53.530
Questo metodo controlla se è disponibile una vista riciclata che è uscita dallo schermo.

00:53.530 --> 00:58.660
Se non lo è, si gonfia un nuovo layout e si crea un'istanza di Viewholder.

00:58.690 --> 01:07.010
Se è disponibile una vista riciclata, è sufficiente aggiornare i dati nel supporto della vista esistente e riutilizzarla.

01:07.010 --> 01:15.500
Questo metodo è quindi responsabile della creazione e della restituzione di una vista che rappresenta un elemento all'interno dell'insieme di dati dell'adattatore.

01:15.530 --> 01:22.670
Questo metodo viene richiamato dal framework ogni volta che un nuovo elemento deve essere visualizzato sullo schermo, ad

01:22.670 --> 01:30.230
esempio quando si scorre un elenco, una vista o una griglia o un componente simile dell'interfaccia utente basato su un elenco.

01:30.230 --> 01:35.630
Abbiamo parlato di questo metodo in modo approfondito nella sezione dedicata all'adattatore e nella sezione dedicata alla vista elenco.

01:35.630 --> 01:38.330
Pertanto, se avete dei dubbi, fate riferimento a questi documenti.

01:38.330 --> 01:42.470
Ad ogni modo, vi illustrerò il metodo get view.

01:42.470 --> 01:45.320
Inizierò con il primo parametro.

01:45.320 --> 01:47.240
La posizione del tipo N.

01:47.270 --> 01:52.970
Memorizza la posizione dell'elemento all'interno dell'insieme di dati che deve essere visualizzato.

01:52.970 --> 02:01.130
Il secondo parametro è la vista da convertire, che è di tipo view, una vista riciclata che è uscita dallo schermo

02:01.130 --> 02:09.770
e che può essere riutilizzata se convert a view è null, indica che non c'è nessuna vista disponibile per il riciclo.

02:09.770 --> 02:13.670
È necessario gonfiarne uno nuovo e questo è ciò che controlleremo.

02:13.670 --> 02:14.800
Nullo o meno.

02:14.810 --> 02:21.170
Il terzo parametro è il genitore, di tipo gruppo di viste, il genitore del gruppo di viste che

02:21.170 --> 02:24.310
alla fine conterrà la vista restituita.

02:24.320 --> 02:26.060
Iniziamo con il primo passo.

02:26.060 --> 02:29.150
Ottiene l'oggetto forma per la posizione corrente.

02:29.150 --> 02:38.630
Creerò forme di forma uguali per ottenere l'elemento in una posizione specifica, che è il parametro posizione.

02:38.660 --> 02:41.360
La seconda fase consiste nel gonfiare il layout.

02:41.360 --> 02:45.080
Qui occorre verificare se la vista convertita è nulla o meno.

02:45.080 --> 02:52.730
Per questo creerò la mia istanza di viewholder, il mio view holder e creerò una vista del risultato finale.

02:52.730 --> 02:56.720
Oppure è possibile visualizzare direttamente o restituire la vista convertita.

02:56.720 --> 03:02.210
Verificherò se convertire la vista uguale a null.

03:02.210 --> 03:07.370
Se la vista convertita è nulla, è necessario gonfiare un nuovo layout per l'elemento.

03:07.370 --> 03:12.800
Qui si usa layout inflator per gonfiare un file XML di layout e altro.

03:12.800 --> 03:16.280
È qui che il convertitore vede che non è nullo.

03:16.280 --> 03:21.950
Significa che c'è una vista che è uscita dallo schermo e che può essere riutilizzata.

03:21.950 --> 03:26.540
Ciò contribuisce a migliorare le prestazioni evitando le visualizzazioni non necessarie.

03:26.540 --> 03:27.890
Inflazione.

03:27.890 --> 03:32.120
Partiamo dal caso in cui dobbiamo creare la nostra nuova vista.

03:32.120 --> 03:40.100
Avvio il mio view holder uguale a new view holder creando questa istanza e il layout inflator.
