ListActivity值是对象,想要显示字符串

时间:2014-11-04 04:58:21

标签: android

我有一个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中找到的字符串。我无法弄清楚如何实现这一目标。

2 个答案:

答案 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获取标题。

如果您不理解某些内容或者如果我想念您,请发表评论:)