I am having the same problem. In my case it only happens if I specify my own layout using setContentView in onCreate() of my ListActivity. If i use the standard layout i get correct number of calls to getView.
The thing is that if I have 5 items in my list i suspect the first 5 calls to getView to have convertView=null each time. But its not. First time its null, then the next 5 calls have the same convertView as the previous call and then 5 more calls where the convertView is null. So the first 6 calls to getView only results in changing the first element 5 times more than whats necessary. After the 5 first calls the convertView is null and the rest of the items in the list are filled out correctly. But when i scroll down the list, we have 10 more calls again. Does anybody have an idea whats wrong? Or how it can be avoided? I have no weights in my layout at all. Its just a simple textView with a status message and a listView. -Ola On Wed, Jul 15, 2009 at 4:05 PM, Streets Of Boston <[email protected]>wrote: > > I'm not a google engineer, so i don't know the answer, but i have a > theory why this may happen. > > In your layouts, do you use 'weights' (weightsum and layoutweight)? > If i remember correctly, if you use these attributes, layout-code is > called twice. > If the layout-code for a list-view includes the 'getView' then this > would explain it being called 4 times for 2 child views. > > On Jul 15, 2:40 am, Mika <[email protected]> wrote: > > Hi, > > > > I'm having the same problem. Did you find any solutions?? > > > > -Mika > > > > On Jun 24, 7:39 pm, jabu <[email protected]> wrote: > > > > > > > > > Hi Everyone, > > > > > I am implementing my ownadapterthat inherits from BaseAdapter (this > > > is something very classic). > > > Then when I start the activity that owns the listView binded to > thisadapterI can see that the getView() method is called moretimesthan > > > what the number of view actually available in the list. > > > For instance, I do have 2 rows in my list and when I first set > theadaptergetView is called 6times. Then If I make a call to > > > notifyDataSetChanged(), getView is called 4times. > > > I understand that when you scroll up and down getView must be called > > > to generate or re use a view but I don't scroll up or down, I am > > > really wondering why getView is called so many time. > > > > > Thanks a lot in advance for your responses. > > > Jabu > > > > > My code just in case even though it is a pretty basic piece of code: > > > > > public View getView(int position, View convertView, ViewGroup > > > parent) > > > { > > > ViewHolder holder; > > > if (convertView == null) > > > { > > > convertView = > mInflater.inflate(R.layout.row_action, null); > > > // Creates a view holder > > > holder = new ViewHolder(); > > > ... > > > convertView.setTag(holder); > > > } > > > else > > > { > > > holder = (ViewHolder)convertView.getTag(); > > > } > > > holder.params.set.... > > > return convertView; > > > }- Hide quoted text - > > > > - Show quoted text - > > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---

