我有一个情感图标列表(超过100个图标)
我想在一个视图中显示人们可以点击它并祝贺他点击的内容
现在,我有一些令人困惑的观点:
1)我应该使用哪些视图来包含所有这些图标(GridView或ListView)?
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