de android documents - Un objeto Adapter actúa como un puente entre un AdapterView (como ListView en su caso) y los datos subyacentes para esa vista. El adaptador proporciona acceso a los elementos de datos y también es responsable de crear una vista para cada elemento en el conjunto de datos.
Por lo tanto, siempre que ListView necesite mostrar una fila de datos en particular, solicita al adaptador asociado que proporcione la vista correspondiente a los datos en esa posición a través del método getView(). Esto puede ocurrir siempre que la vista deba actualizarse en la pantalla (por ejemplo, durante la creación/desplazamiento, etc.).
Como desarrollador de aplicaciones, no necesita preocuparse exactamente en qué punto se llama a getView() siempre que proporcione una implementación concreta de getView() en su adaptador. Asegúrese de que el método sea eficiente (las miniaturas, etc. deben cargarse en una secuencia de fondo) para un rendimiento óptimo.
Consulte este [LINK] (http://www.ezzylearning.com/tutorial.aspx?tid=1763429&q=customizing-android-listview-items-with-custom-arrayadapter) tiene la explicación clara y neta de CustomAdapter woth código de muestra –