在ListView中添加图像

时间:2010-09-02 10:38:54

标签: android listview

我是android dev的新手。我想在ListView {{1}}中添加图片。

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

this tutorial中,您可以看到如何定义自定义ListView。这应该可以帮助您实现自己的解决方案。

答案 1 :(得分:0)

Here's通过重构List Adapter代码有效实现复杂列表视图。

答案 2 :(得分:0)

以下是帮助您在列表视图中添加图片的代码

public class ItemsList extends ListActivity {

private ItemsAdapter adapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.items_list);

    this.adapter = new ItemsAdapter(this, R.layout.items_list_item, ItemManager.getLoadedItems());
    setListAdapter(this.adapter);
}

private class ItemsAdapter extends ArrayAdapter<Item> {

    private Item[] items;

    public ItemsAdapter(Context context, int textViewResourceId, Item[] items) {
            super(context, textViewResourceId, items);
            this.items = items;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
            View v = convertView;
            if (v == null) {
                    LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            v = vi.inflate(R.layout.items_list_item, null);
            }

            Item it = items[position];
            if (it != null) {
                    ImageView iv = (ImageView) v.findViewById(R.id.list_item_image);
                    if (iv != null) {
                            iv.setImageDrawable(it.getImage());
                    }
            }

            return v;
        }
    }

    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
        this.adapter.getItem(position).click(this.getApplicationContext());
    }
}