gpt4 book ai didi

android - 让 ArrayAdapter 带有对象列表,以在 ListView 中显示包含字符串的对象

转载 作者:行者123 更新时间:2023-11-29 14:31:51 25 4
gpt4 key购买 nike

我有一个普通的 ListView:

<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:dividerHeight="10dp" />

然后我用 Alert 对象的 ArrayList 填充该 ListView :

// Get ListView object from XML
listView = (ListView) findViewById(android.R.id.list);

// Create a new Adapter
ArrayAdapter<Alert> adapter = new ArrayAdapter<Alert>(this, android.R.layout.activity_list_item, android.R.id.text1, DataSourceHandler.getAlertsList());

// Assign adapter to ListView
listView.setAdapter(adapter);

DataSourceHandler.getAlertsList() 返回对象的 ArrayList,在我的 ListView 中,我现在看到如下两个项目:

  • path.to.object@41a92a48
  • path.to.object@41a92cc8

这两个 Alert 对象有一个名为 getName() 的方法,它返回一个字符串,我想将其用作列表中此项的显示名称,而不是我在上面得到的名称。

我该怎么做?

最佳答案

正如评论中已经提到的,标准的 ArrayAdapter 实现调用列表中每个对象的 toString() 并使用生成的 String 填充 View 。最简单的解决方案是通过在其中调用 getName() 方法来覆盖 toString()。如果它不适合您的需求,那么您应该创建一个自定义适配器。

关于android - 让 ArrayAdapter 带有对象列表,以在 ListView 中显示包含字符串的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22582229/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com