0

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

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

在我看来,仅遵循这种方法并使用可能与 if/switch 一起使用的位置来确定为给定行膨胀的视图要简单得多。

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

干杯

4

1 回答 1

5

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

正如文档中的立场:

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

于 2012-12-12T11:39:24.070 回答