Continuiamo con il mio adattatore personalizzato.
Nel video precedente abbiamo creato il mio costruttore di adattatore personalizzato con questi due parametri, l'elenco di array
Shapes, che è l'origine dei dati e il contesto.
Poi abbiamo creato questa classe statica Viewholder che abbina i riferimenti alla vista immagine e alla vista testo.
In questo video creeremo il metodo Get View per personalizzare il tipo di vista utilizzato per l'oggetto
dati, sovrascriveremo il metodo get view e gonfieremo una risorsa view.
Inizierò quindi con get a view, cliccando su enter e vedrete che questo è il nostro metodo get view.
Rimuovo questa dichiarazione di ritorno e inizio con la mia vista get personalizzata.
Questo metodo controlla se è disponibile una vista riciclata che è uscita dallo schermo.
Se non lo è, si gonfia un nuovo layout e si crea un'istanza di Viewholder.
Se è disponibile una vista riciclata, è sufficiente aggiornare i dati nel supporto della vista esistente e riutilizzarla.
Questo metodo è quindi responsabile della creazione e della restituzione di una vista che rappresenta un elemento all'interno dell'insieme di dati dell'adattatore.
Questo metodo viene richiamato dal framework ogni volta che un nuovo elemento deve essere visualizzato sullo schermo, ad
esempio quando si scorre un elenco, una vista o una griglia o un componente simile dell'interfaccia utente basato su un elenco.
Abbiamo parlato di questo metodo in modo approfondito nella sezione dedicata all'adattatore e nella sezione dedicata alla vista elenco.
Pertanto, se avete dei dubbi, fate riferimento a questi documenti.
Ad ogni modo, vi illustrerò il metodo get view.
Inizierò con il primo parametro.
La posizione del tipo N.
Memorizza la posizione dell'elemento all'interno dell'insieme di dati che deve essere visualizzato.
Il secondo parametro è la vista da convertire, che è di tipo view, una vista riciclata che è uscita dallo schermo
e che può essere riutilizzata se convert a view è null, indica che non c'è nessuna vista disponibile per il riciclo.
È necessario gonfiarne uno nuovo e questo è ciò che controlleremo.
Nullo o meno.
Il terzo parametro è il genitore, di tipo gruppo di viste, il genitore del gruppo di viste che
alla fine conterrà la vista restituita.
Iniziamo con il primo passo.
Ottiene l'oggetto forma per la posizione corrente.
Creerò forme di forma uguali per ottenere l'elemento in una posizione specifica, che è il parametro posizione.
La seconda fase consiste nel gonfiare il layout.
Qui occorre verificare se la vista convertita è nulla o meno.
Per questo creerò la mia istanza di viewholder, il mio view holder e creerò una vista del risultato finale.
Oppure è possibile visualizzare direttamente o restituire la vista convertita.
Verificherò se convertire la vista uguale a null.
Se la vista convertita è nulla, è necessario gonfiare un nuovo layout per l'elemento.
Qui si usa layout inflator per gonfiare un file XML di layout e altro.
È qui che il convertitore vede che non è nullo.
Significa che c'è una vista che è uscita dallo schermo e che può essere riutilizzata.
Ciò contribuisce a migliorare le prestazioni evitando le visualizzazioni non necessarie.
Inflazione.
Partiamo dal caso in cui dobbiamo creare la nostra nuova vista.
Avvio il mio view holder uguale a new view holder creando questa istanza e il layout inflator.