17

I have a custom list and it takes few minutes to show-up. When I was trying to check where the problem is, I saw that even when I have only 1 item in the list, the method getCount() is being called 5 times, getVIew() is being called once, an then getCount() is being called to more time. Overall getCount() is being called 7 times. Does that makes sense?

Thank you!

4

4 回答 4

8

You can see here the different internal calls to the Adapter.getCount() method.

But you must keep in mind that you have no control on how this method is gonna be called.

It can be called multiple times and that's why you have to keep it as fast as possible.

于 2012-11-26T10:28:58.923 回答
2

getCount() is called too many times because App-USER can update its list ( can add data in its storage ) anytime and thats why we return , (storage).size() (total number of elements).

于 2013-03-22T06:02:58.150 回答
0

Adapter getCount() method will be called in following cases.

1) when setting the adapter to List view/ Grid View.

2) when we call notifyDataSetChanged on Adapter.

So, check in your code, you might be doing the above cases more time or recursively..

于 2014-09-15T17:35:34.133 回答
0

You should have a search button that updates the adapter when searching. That method get called drawing the view multiple times, if inside that method you have a setAdapter, then, getCount will be called many times, and will ended up returning 0 and you view will not be filled.

于 2015-08-30T09:17:53.447 回答