2012-04-15 21 views
14

Quando si crea un adapter personalizzato per ListView in Android, vedo che devo creare una classe che estende la classe ArrayAdapter e implementa il metodo getView(..).Quando getView() in ArrayAdapter si chiama

Tutto ciò è OK, ma desidero conoscere la sequenza dei metodi di chiamata e l'esecuzione. cioè in quale punto del codice viene chiamato il getView()?

+1

Fare riferimento a questo [LINK] (http://www.ezzylearning.com/tutorial.aspx?tid=1763429&q=customizing-android-listview-items-with-custom-arrayadapter) ha la spiegazione chiara e netta di CustomAdapter woth sample code –

risposta

7

Da android docs - Un oggetto Adapter funge da ponte tra un AdapterView (come ListView nel tuo caso) e i dati sottostanti per quella vista. L'adattatore fornisce l'accesso agli elementi di dati ed è anche responsabile della creazione di una vista per ciascun elemento nel set di dati.

Pertanto, ogni volta che ListView deve visualizzare una particolare riga di dati, richiede all'adattatore associato di fornire la vista corrispondente a quella dei dati in quella posizione tramite il metodo getView(). Ciò può verificarsi ogni volta che la vista deve essere aggiornata sullo schermo (ad esempio durante la creazione/scorrimento ecc.).

Come sviluppatore di app, non è necessario preoccuparsi esattamente di quale punto viene chiamato getView() finché si fornisce un'implementazione concreta getView() nell'adattatore. Assicurati che il metodo sia efficiente (miniature ecc. Dovrebbero essere caricati in un thread in background) per prestazioni ottimali.

+0

Come si può avere l'audacia di dire al richiedente che non ha bisogno di preoccuparsi di capire come funziona quello che sta usando? –

0
getView(int position, View view, ViewGroup parent) 

è chiamato per la

List of Objects 

delle nos di elementi utilizzando

getItem(int position) 

per la lunghezza della nostra lista

così, si chiama nos di volte FINO A all'intero elenco è stato assegnato un layout e dati dall'elenco.

Problemi correlati