I don't expect it to. But I do though expect it to call it a sensible amount of times, and not call it when it is absolutely unnecessary. Why would it for example have to bind all my list items to the first view two times over, before creating the other list item views?
Cheers, Olof On Feb 15, 2:02 pm, Kostya Vasilyev <[email protected]> wrote: > AdapterView does not make any guarantees about when and how many times > the adapter's getView is called. > > -- Kostya > > 15.02.2012 15:35, Olof Hedman пишет: > > > > > > > > > > > I did not. I have no need for headers in my lists. > > Why do you ask? > > > Cheers, > > Olof > > > On Feb 14, 12:38 pm, gropapa<[email protected]> wrote: > >> did you use addHeaderView() in your code? > > >> On 14 fév, 10:22, jamesc<[email protected]> wrote: > > >>> Also, are you calling notifyDatasetChanged() frequently? > >>> On Feb 14, 9:10 am, jamesc<[email protected]> wrote: > >>>> Hello > >>>> Are you using the ViewHolder pattern to recycle Views? > >>>> On Feb 13, 9:48 am, Olof Hedman<[email protected]> wrote: > >>>>> I have implemented a couple of different adapters in my application. > >>>>> No matter which base class I use, I get very weird behavior in how the > >>>>> list calls it to create and bind its views. > >>>>> I've tested this on 2.3.3, 2.3.6 and Kindle. > >>>>> This log is from an implementation of BaseAdapter, I put a debug-print > >>>>> in "getView". > >>>>> If convertView is null I inflate the view and print "created view". > >>>>> For every call to getView I print "binding View" when I set its > >>>>> values. > >>>>> The code on the end is an id string for the data I bind to the views. > >>>>> Everything display just as it should, but I get lots of unneccessary > >>>>> binds! > >>>>> This is what I get when I set the adapter to the listview: > >>>>> D/SLPA ( 4097): created View - android.widget.LinearLayout@405bf190 > >>>>> D/SLPA ( 4097): binding View - android.widget.LinearLayout@405bf190 > >>>>> position: 0 - to: A5D7W5U9.02 > >>>>> D/SLPA ( 4097): binding View - android.widget.LinearLayout@405bf190 > >>>>> position: 1 - to: ASQK89Q8.58 > >>>>> D/SLPA ( 4097): binding View - android.widget.LinearLayout@405bf190 > >>>>> position: 2 - to: ASQK89Q8.37 > >>>>> D/SLPA ( 4097): binding View - android.widget.LinearLayout@405bf190 > >>>>> position: 3 - to: AEURWHRA.02 > >>>>> D/SLPA ( 4097): binding View - android.widget.LinearLayout@405bf190 > >>>>> position: 4 - to: ASQK89Q8.44 > >>>>> D/SLPA ( 4097): binding View - android.widget.LinearLayout@405bf190 > >>>>> position: 5 - to: ASQK89Q8.51 > >>>>> D/SLPA ( 4097): binding View - android.widget.LinearLayout@405bf190 > >>>>> position: 6 - to: ASQK89Q8.10 > >>>>> D/SLPA ( 4097): binding View - android.widget.LinearLayout@405bf190 > >>>>> position: 7 - to: AWQHVP6A.11 > >>>>> D/SLPA ( 4097): binding View - android.widget.LinearLayout@405bf190 > >>>>> position: 0 - to: A5D7W5U9.02 > >>>>> D/SLPA ( 4097): binding View - android.widget.LinearLayout@405bf190 > >>>>> position: 1 - to: ASQK89Q8.58 > >>>>> D/SLPA ( 4097): binding View - android.widget.LinearLayout@405bf190 > >>>>> position: 2 - to: ASQK89Q8.37 > >>>>> D/SLPA ( 4097): binding View - android.widget.LinearLayout@405bf190 > >>>>> position: 3 - to: AEURWHRA.02 > >>>>> D/SLPA ( 4097): binding View - android.widget.LinearLayout@405bf190 > >>>>> position: 4 - to: ASQK89Q8.44 > >>>>> D/SLPA ( 4097): binding View - android.widget.LinearLayout@405bf190 > >>>>> position: 5 - to: ASQK89Q8.51 > >>>>> D/SLPA ( 4097): binding View - android.widget.LinearLayout@405bf190 > >>>>> position: 6 - to: ASQK89Q8.10 > >>>>> D/SLPA ( 4097): binding View - android.widget.LinearLayout@405bf190 > >>>>> position: 7 - to: AWQHVP6A.11 > >>>>> D/SLPA ( 4097): binding View - android.widget.LinearLayout@405bf190 > >>>>> position: 0 - to: A5D7W5U9.02 > >>>>> D/SLPA ( 4097): created View - android.widget.LinearLayout@405ab368 > >>>>> D/SLPA ( 4097): binding View - android.widget.LinearLayout@405ab368 > >>>>> position: 1 - to: ASQK89Q8.58 > >>>>> D/SLPA ( 4097): created View - android.widget.LinearLayout@405a85f8 > >>>>> D/SLPA ( 4097): binding View - android.widget.LinearLayout@405a85f8 > >>>>> position: 2 - to: ASQK89Q8.37 > >>>>> D/SLPA ( 4097): created View - android.widget.LinearLayout@40548088 > >>>>> D/SLPA ( 4097): binding View - android.widget.LinearLayout@40548088 > >>>>> position: 3 - to: AEURWHRA.02 > >>>>> D/SLPA ( 4097): created View - android.widget.LinearLayout@405743e0 > >>>>> D/SLPA ( 4097): binding View - android.widget.LinearLayout@405743e0 > >>>>> position: 4 - to: ASQK89Q8.44 > >>>>> D/SLPA ( 4097): created View - android.widget.LinearLayout@405877c0 > >>>>> D/SLPA ( 4097): binding View - android.widget.LinearLayout@405877c0 > >>>>> position: 5 - to: ASQK89Q8.51 > >>>>> Its not weird that users complain of sluggish UI if these things are > >>>>> going on! > >>>>> When the device goes into sleep, I get this: > >>>>> D/SLPA ( 4097): created View - android.widget.LinearLayout@40555a00 > >>>>> D/SLPA ( 4097): binding View - android.widget.LinearLayout@40555a00 > >>>>> position: 0 - to: A5D7W5U9.02 > >>>>> D/SLPA ( 4097): binding View - android.widget.LinearLayout@40555a00 > >>>>> position: 1 - to: ASQK89Q8.58 > >>>>> D/SLPA ( 4097): binding View - android.widget.LinearLayout@40555a00 > >>>>> position: 2 - to: ASQK89Q8.37 > >>>>> D/SLPA ( 4097): binding View - android.widget.LinearLayout@40555a00 > >>>>> position: 3 - to: AEURWHRA.02 > >>>>> D/SLPA ( 4097): binding View - android.widget.LinearLayout@40555a00 > >>>>> position: 4 - to: ASQK89Q8.44 > >>>>> D/SLPA ( 4097): binding View - android.widget.LinearLayout@40555a00 > >>>>> position: 5 - to: ASQK89Q8.51 > >>>>> D/SLPA ( 4097): binding View - android.widget.LinearLayout@40555a00 > >>>>> position: 6 - to: ASQK89Q8.10 > >>>>> D/SLPA ( 4097): binding View - android.widget.LinearLayout@40555a00 > >>>>> position: 0 - to: A5D7W5U9.02 > >>>>> D/SLPA ( 4097): binding View - android.widget.LinearLayout@40555a00 > >>>>> position: 1 - to: ASQK89Q8.58 > >>>>> D/SLPA ( 4097): binding View - android.widget.LinearLayout@40555a00 > >>>>> position: 2 - to: ASQK89Q8.37 > >>>>> D/SLPA ( 4097): binding View - android.widget.LinearLayout@40555a00 > >>>>> position: 3 - to: AEURWHRA.02 > >>>>> D/SLPA ( 4097): binding View - android.widget.LinearLayout@40555a00 > >>>>> position: 4 - to: ASQK89Q8.44 > >>>>> D/SLPA ( 4097): binding View - android.widget.LinearLayout@40555a00 > >>>>> position: 5 - to: ASQK89Q8.51 > >>>>> D/SLPA ( 4097): binding View - android.widget.LinearLayout@40555a00 > >>>>> position: 6 - to: ASQK89Q8.10 > >>>>> D/SLPA ( 4097): binding View - android.widget.LinearLayout@405877c0 > >>>>> position: 0 - to: A5D7W5U9.02 > >>>>> D/SLPA ( 4097): binding View - android.widget.LinearLayout@405743e0 > >>>>> position: 1 - to: ASQK89Q8.58 > >>>>> D/SLPA ( 4097): binding View - android.widget.LinearLayout@40548088 > >>>>> position: 2 - to: ASQK89Q8.37 > >>>>> D/SLPA ( 4097): binding View - android.widget.LinearLayout@405a85f8 > >>>>> position: 3 - to: AEURWHRA.02 > >>>>> D/SLPA ( 4097): binding View - android.widget.LinearLayout@405ab368 > >>>>> position: 4 - to: ASQK89Q8.44 > >>>>> Why on earth would it need to do this when it turns off the screen?! > >>>>> Is there anyone who can shed some light on this, is it just something > >>>>> I have to live with, or have I made some stupid mistake? > >>>>> I have a hard time imagining anything I could have done wrong though, > >>>>> since the code is really minimal. > > -- > Kostya Vasilyev -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

