在listView项目中添加标题,注释和图像

时间:2012-02-23 06:36:31

标签: java android eclipse android-layout

这是我的代码:

 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中显示所有这些内容。我怎么能表明这一点。

提前致谢:)

3 个答案:

答案 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;
    }