这是我的代码:
private ArrayList<Receipt> receipts = new ArrayList<Receipt>();
ArrayAdapter<Receipt> adapter;
// In onCreate
adapter=new ArrayAdapter<Receipt>(this,android.R.layout.simple_list_item_1, receipts);
listView.setAdapter(adapter);
//---------------------------------
private void addReceiptInListView(Receipt receipt)
{
adapter.notifyDataSetChanged();
}
现在收据中包含以下内容
1-标题, 2-评论 3-参考编号 4-图像
我想在添加的listView中显示所有这些内容。我怎么能表明这一点。
提前致谢:)
答案 0 :(得分:1)
ArrayAdapter
只会显示String
列表,因此无法显示您的完整Receipt
。要显示Receipt
对象的额外信息,必须实现自己的ArrayAdapter
并为行提供自定义布局,然后手动将Receipt
数据与{{getView()
中的视图绑定1}} ArrayAdapter
的方法。
这是关于实现您自己的自定义适配器的link with a tutorial。
答案 1 :(得分:1)
转到自定义列表,请查看以下示例:
答案 2 :(得分:1)
最初设计单个列表项的布局文件..假设“sample.xml”
然后在适配器视图方法中将值设置为属性
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = LayoutInflater.from(getContext()).inflate(
R.layout.sample, null);
}
TextView title= (TextView) convertView.findViewById(R.id.title);
TextView comments= (TextView) convertView.findViewById(R.id.comments);
title.setText(getItem(position).getTitle());
comments.setText(getItem(position).getComments());
......
return convertView;
}