java - 为什么 ArrayAdapter 只从数组的每个成员中检索一个对象,而不是整个对象?

标签 java android android-arrayadapter

以我正在学习的书为例

public static final Drink[] drinks = {
   new Drink ("Latte", "A couple of espresso shots with steamed milk ",
                      R.drawable.latte),
   new Drink ("Cappuccino", "Espresso, hot milk, and a steamed milk foam",
                      R.drawable.cappuccino),
   new Drink ("Filter", "Highest quality beans roasted and brewed fresh",
                      R.drawable.filter)
}; 

首先,我们让这个方法在 Drink 类中返回一个数组,并且在一个 Activity 中,我们应该使用适配器数组从中检索数据,代码如下:

  ArrayAdapter<Drink> listAdapter= new ArrayAdapter<>(this,
            android.R.layout.simple_list_item_1, Drink.drinks);
    ListView listDrinks = (ListView) findViewById(R.id.list_drinks);
    listDrinks.setAdapter(listAdapter);

我不明白的是为什么这个 ArrayAdapter 只检索饮料的名称而不是 ListView 中的全部详细信息?我在代码中看不到我们指定仅检索名称的任何地方。

最佳答案

如果您点击 android.R.layout.simple_list_item_1 布局,您可以看到:在该布局中,它仅包含 1 个文本字段,因此它只能显示您的一个属性对象。

如果您想显示更多信息或自定义 View ,请尝试以下操作:

https://stackoverflow.com/a/6306901/11888658

关于java - 为什么 ArrayAdapter 只从数组的每个成员中检索一个对象,而不是整个对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62287732/

相关文章:

java - 如何在 spring-integration-kafka 2.1.0.RELEASE 和 Kafka 0.10.0 中为不同的主题配置不同的生产者?

java - SQL 在 Tomcat Servlet 中的执行时间比在普通 Java 程序中慢得多

java - Android - 在 Chronometer 中计算耗时

android - 创建 ArrayAdapter 时出错

java - 有时,Vaadin 不会在 "Session timeout"消息后使 session 无效

java - python 中 getInputStream() 和 getOutputStream() 等价的是什么?

java - LibGDX 导入 TMX 文件

android - 一个游戏的多个 apk 方法

android - 从 Activity 返回后 Listview 不更新

android-studio - 为什么我不能在 Kotlin 中初始化我的 ArrayAdapter?