我有一个ListActivity,当前正在显示Data对象类型的列表。这些类型的Data对象具有自定义数据:
String title;
以下是我的ListActivity构造函数:
List<Data> values = dataInterface.getAllData();
ArrayAdapter<Data> adapter = new ArrayAdapter<Data>(this,
android.R.layout.simple_list_item_1, values);
setListAdapter(adapter);
应用程序在屏幕上显示所有数据对象而没有错误。
问题是每个列表项显示的文本是:
Data@42731008
Data@427362c0
等等。
我知道这些是Data对象的对象ID。相反,我想显示在Data.title中找到的字符串。我无法弄清楚如何实现这一目标。
答案 0 :(得分:2)
如果您不想使用自定义适配器,请按照以下步骤在public String toString()
类中定义Data
方法:
public String toString {
return title;
}
当ArrayAdapter表示ListView中的对象时,它将被它使用。
答案 1 :(得分:0)
在适配器中:
holder.myTextview.setText(getItem(position).getTitle());
要点在getItem(position).getTitle()
,因为您的自定义适配器扩展ArrayAdapter<Data>
,getItem(position)
将返回Data
的实例。
之后,您只需要使用Data
(依赖在你的getTitle();
类中使用你的setter - getter)从Data
获取标题。
如果您不理解某些内容或者如果我想念您,请发表评论:)