我知道您可以扩展BaseAdapter并覆盖getViewTypeCount()getItemViewType(postion)方法并以这种方式获取各种行布局。

但是,我刚刚完成了一个教程,其中扩展了ArrayAdapter,并且getView(int position, View convertView, ViewGroup parent)是唯一覆盖的方法。

在我看来,仅采用这种方法并使用if / switch位置来确定给定行的视图是否膨胀,就容易得多。

这是一个正确的假设,还是这种方法有问题?

干杯

最佳答案

没有您的假设是错误的。如果需要inflate不同的View,正确的方法是配对override getViewTypeCount()/ getItemViewType(postion)。这样,android将根据convertView返回的内容为您提供不同的getViewTypeCount()进行充气。

如文档所示:

getViewTypeCount() Returns the number of types of Views that will be created

08-18 15:54