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

时间:2014-06-08 15:28:05

标签: java android

我试图弄清楚ArrayAdapter构造函数中的资源ID是什么。我也有其他一些问题:

  • 它用于什么?
  • 为什么要指出一些文字?
  • ArrayAdapter的目的不是推送任何类型的物品吗?
  • 为什么只说TextView
  • 我无法使用ArrayAdapter<View>,其中View可以是View吗?

2 个答案:

答案 0 :(得分:1)

要用于该ArrayAdapter实例的布局。

通常你可以使用android中的默认值:android.R.layout.simple_list_item_1

为什么它只是一个TextView:因为那是ArrayAdapter的实现方式。它必须包含用于排序/过滤等的TextView

如果您想要一个自定义视图,您可以创建一个扩展ArrayAdapter的自定义适配器,并覆盖getView(...)

答案 1 :(得分:1)

  

它用于什么

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

  

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

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

  

为什么只说TextView?

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

  

我不能使用arrayadapter,其中view可以是任何视图吗?

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