使用getCount(),getItem(),getItemId()类扩展ArrayAdapter

时间:2016-08-29 20:13:12

标签: android android-arrayadapter baseadapter

我是Adapter的新手。因此,要了解有关如何实现Adapter的更多信息,我将在SO和其他一些博客中查看各种示例。我发现许多人在自定义适配器类中定义了getCount()getItem()getItemId(),并扩展了ArrayAdapter并且甚至没有使用这些功能。我了解在扩展' BaseAdapter'的自定义类中,我们必须覆盖getCount()getItem()getItemId()才能完成任务。

所以对于我的问题,我是否必须在扩展ArrayAdapter时在自定义Adapter类中定义这些函数?

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

2 个答案:

答案 0 :(得分:0)

当你“获得你的物品”时,这些方法在内部使用。用你的逻辑来填充你的“getView”方法中的数据。

答案 1 :(得分:0)

创建自定义适配器扩展getCount()时,我们无需定义getItem()getItemId()ArrayAdapter。没有必要,如ArrayAdapter folderInput1<- reactive({ shinyDirChoose(input, 'directory', roots= volumes, session=session, restrictions=system.file(package='base')) return(parseDirPath(volumes, input$directory))}) files1 <- reactive({ list.files(path = folderInput1(), pattern = "*.csv", full.names = T) }) nFiles1 <- reactive({ length(files1() ) }) 这些函数被覆盖。但是如果我们需要覆盖这些函数并提供我们自己的定义,我们就可以做到这一点,而且根本没有问题。

感谢definition指导我完成定义。