ListView的getViewTypeCount什么时候被调用

做电商,难免会遇到订单列表的展示,类似淘宝那样,有的一个订单中是一个商品,有的一个订单是两个商品,就是说每个订单中商品数量都是不固定的,当时一看到这个的想法就是使用ListView的getViewTypeCount以及getItemViewType方法来实现,刚开始测试的时候都没有问题,随着时间的推迟,总会出现订单列表崩溃的现象,然后通过自己测试排查,发现总是在上拉加载更多的时候,继续滚动,运气好就不会崩,运气不好就崩了,结合自己的经验,感觉问题应该是出在getViewTypeCount上。 通过Android官网查看这个方法的解释,才恍然,有这样的一句话,This method will only be called when when the adapter is set on the the AdapterView.

ListView的getViewTypeCount什么时候被调用_第1张图片
20160305094024845.jpg

当adapter被创建的时候才会调用getViewTypeCount方法。 总结:如果ListView的数据有变化,通过notifyDataSetChanged()方法是无法再次调用getViewTypeCount方法的。

你可能感兴趣的:(ListView的getViewTypeCount什么时候被调用)