When getView() in ArrayAdapter is called

前端 未结 3 1286
盖世英雄少女心
盖世英雄少女心 2020-12-14 19:46

When creating a customized adapter for ListView in android, I see that I have to create a class the extends ArrayAdapter class and imp

相关标签:
3条回答
  • 2020-12-14 20:02

    getView() of ArrayAdapter is called multiple times....

    1. as an when the new row is added...
    2. you scroll up and scroll down the list view....
    3. when the list is notfiedchanged..

    Refer this link Android custom ArrayAdapter getView method called multiple times - resetting dynamic TextView value

    0 讨论(0)
  • 2020-12-14 20:09

    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.

    0 讨论(0)
  • 2020-12-14 20:18
    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.

    0 讨论(0)
提交回复
热议问题