我一直在学习创建自定义的ArrayAdapter
s,并且已经熟悉了重写arrayadapter的getViewTypeCount
和getItemViewType
方法。
为什么android视图api关心getViewTypeCount
返回的“可能视图类型数”?作为程序员,我为什么要在乎呢?
最佳答案
我刚刚查看了android的源代码,以查看getViewTypeCount
的具体使用位置。它是抽象的AbsListView
类'innerRecycleBin
类'cc>方法。
此setViewTypeCount
方法用于指定setViewTypeCount
的ArrayList<View>
的初始大小。这个scrapViews
本身就是一个ArrayList
的ArrayList
s——每个“视图类型计数”一个。
此外,ArrayList<View>
返回的值被分配给getViewTypeCount
的成员变量RecycleBin
。此成员用于控制在RecycleBin类中的少数方法中只有一个视图与多个视图的情况下的回收逻辑(正如每个人都提到的那样)。
所以答案是,我相信mViewTypeCount
被getViewTypeCount
使用,这样它就知道它是否只有一个或多个视图要处理。可以这么说。
(感谢大家让我睁开眼睛,开始循环利用,并鼓励我阅读源代码。)