如何在android listview或gridview中动态添加图像/图像按钮

时间:2012-07-27 04:01:13

标签: android

我有一个情感图标列表(超过100个图标) 我想在一个视图中显示人们可以点击它并祝贺他点击的内容 emotion icons 现在,我有一些令人困惑的观点:
1)我应该使用哪些视图来包含所有这些图标(GridView或ListView)? 2)如何动态添加或以编程方式添加它们?如果我逐个宣布,我认为这是不好的。但任何其他想法?
所有图像图标都在可绘制文件夹中。 感谢。

2 个答案:

答案 0 :(得分:3)

在这种情况下,使用GridView

PopupWindow会更好。获取HashMap并将笑脸的名称存储为String,将其Image作为资源ID存储。

例如: -

HashMap<String, Integer> map = new  HashMap<String, Integer>();
map.put("smile", R.drawable.smile);
.... 

现在,迭代HashMap的所有值(图像)并从HashMap值(图像)中弹出GridView。

而且,在Adapter类中,您可以使用map.get(key);向ImageView显示图像并设置资源。

<强>更新

我刚刚创建了一个小型演示,你可以从here查看它。

答案 1 :(得分:1)

您告诉过您需要的视图,网格视图将是更好的选择 你可以在里面添加动态值

private ArrayList<Photo> mPhotos;
private BaseAdapter mAdapter;
private GridView mGridView;

onCreate:

/* other things here */

mAdapter = new MyAdapter(mPhotos);
mGridView.setAdapter(mAdapter);

//将新图像添加到列表

mPhotos.add(photo);
mAdapter.notifyDataSetChanged();

看到这个答案会帮到你

Populating a GridView with ImageViews dynamically/programmatically using a ImageAdapter