使用 getCount()、getItem()、getItemId() class 扩展 ArrayAdapter

Usage of getCount(), getItem(), getItemId() class extending ArrayAdapter

我是 Adapter 的新手。因此,为了了解更多关于如何实现 Adapter 的信息,我浏览了 SO 和其他一些博客中的各种示例。我发现许多人在扩展 ArrayAdapter 的自定义适配器 class 中定义 getCount()getItem()getItemId(),甚至不使用这些函数。我知道在扩展 'BaseAdapter' 的自定义 class 中,我们必须覆盖 getCount()getItem()getItemId() 才能完成任务。

所以我的问题是,扩展 ArrayAdapter 时是否必须在自定义适配器 class 中定义这些函数?

注意 :真正让我惊讶的是,当我使用自定义适配器扩展 ArrayAdapter 实现自定义 Spinner 时没有定义这些功能,似乎没问题,一切正常。我真的很困惑我是否做错了。

当您 "get your item" 时,这些方法在内部使用。将您的逻辑放入 "getView" 方法中。

在创建扩展 ArrayAdapter 的自定义适配器时,我们不需要定义 getCount()getItem()getItemId()。没有必要,因为在 ArrayAdapterdefinition 中这些函数被覆盖了。但是如果我们需要覆盖这些函数并提供我们自己的定义,我们可以这样做并且完全没有问题。

感谢 Egor 指导我定义。