BaseAdapter problem


Last Updated:

  1. zhzhd82

    zhzhd82 New Member This Topic's Starter

    Joined:
    Apr 15, 2010
    Messages:
    2
    Likes Received:
    1
    Hi all
    I custom an adapter that extends BaseAdapter.In the getView() method I use the code Log.d("test",Integer.toString(position)); to output the position. The problem now is every time when the adapter notifyDataSetChanged() method is invoked the position first is 0 1 2 3 4(5 items in the screen) and then the displayed ListView item index in the screen.Why? Thank you very much!
     

    Advertisement
    vladimirov likes this.
  2. vladimirov

    vladimirov Member

    Joined:
    Apr 26, 2010
    Messages:
    17
    Likes Received:
    2
    Because of listview optimizes work of elements creation.

    Firstly listview creates a maximum needed count of elements and then reuse them. For each next element, in method getView you will recieve already created view as parameter convertedView.

    So If this parameter not null you should use it as already created view, fill in it your data and return it as new vew.
     

Share This Page

Loading...