Java ArrayAdapter构造函数中的id参数是什么资源?

Java ArrayAdapter构造函数中的id参数是什么资源?,java,android,Java,Android,我试图找出ArrayAdapter构造函数中的资源id。我还有一些其他问题: 它是用来干什么的 为什么要指向某个文本 ArrayAdapter的目的不是要将任何类型的项目推送到它吗 为什么它只显示TextView 我不能使用ArrayAdapter吗View可以是任何View 要用于该ArrayAdapter实例的布局 通常,您可以使用android的默认设置:android.R.layout.simple\u list\u item\u 1 为什么它只是一个文本视图:因为ArrayAdapt

我试图找出ArrayAdapter构造函数中的资源id。我还有一些其他问题:

  • 它是用来干什么的
  • 为什么要指向某个文本
  • ArrayAdapter
    的目的不是要将任何类型的项目推送到它吗
  • 为什么它只显示
    TextView
  • 我不能使用
    ArrayAdapter
    View
    可以是任何
    View

要用于该ArrayAdapter实例的布局

通常,您可以使用android的默认设置:android.R.layout.simple\u list\u item\u 1

为什么它只是一个文本视图:因为ArrayAdapter就是这样实现的。它必须包含用于排序/筛选等的文本视图

如果需要自定义视图,可以创建扩展ArrayAdapter的自定义适配器,并覆盖getView(…)

它是用来干什么的

如果提供,它将指向行布局内部的
TextView
的ID。如果未提供,并且您使用的是
ArrayAdapter
的默认
getView()
实现,则行布局必须是
TextView

为什么它应该指向一些文本

因为
ArrayAdapter
上的
getView()
的内置实现想要获取模型对象的
toString()
,并将该文本放入
TextView

为什么只显示文本视图

因为这正是
ArrayAdapter
上的
getView()的内置实现所期望的

我不能使用arrayadapter吗?视图可以是任何视图


是的,你可以。但是,如果您的行中没有
TextView
,则无法使用
getView()
的内置实现,必须完全覆盖它。

事实上,如果您创建自定义列表项并覆盖getView(),则可以从Android将其设置为默认值。