When creating a customized adapter
for ListView
in android, I see that I have to create a class the extends ArrayAdapter
class and imp
getView() of ArrayAdapter is called multiple times....
Refer this link Android custom ArrayAdapter getView method called multiple times - resetting dynamic TextView value
From android docs - An Adapter object acts as a bridge between an AdapterView (such as ListView in your case) and the underlying data for that view. The Adapter provides access to the data items and is also responsible for making a View for each item in the data set.
So, whenever the ListView needs to display a particular row of data, it requests the associated adapter to provide the view corresponding to that the data at that position through getView() method. This may occur whenever the view needs to be updated on screen (eg. during creation/scroll etc.).
As an app developer, you need not worry about exactly at which point getView() is being called as long as you provide a concrete getView() implementation in your adapter. Make sure the method is efficient (thumbnails etc should be loaded in a background thread) for optimum performance.
getView(int position, View view, ViewGroup parent)
is called for the
List of Objects
of the nos of elements using
getItem(int position)
for the length of our List
so, it is called nos of times untill your entire list has been allocated a layout and data from list.