GridView是很重要的一个组件,一定要记住。
1,准备数据源
这里我们准备的数据源是图片,文字,数据源的类型是
List <Map<String,Object>>,
(List包裹着一个Map集合,这个Map的键值对)
private List<Map<String, Object>> getData() {
int[] drawable = { R.drawable.address_book, R.drawable.calendar,
R.drawable.camera, R.drawable.clock, R.drawable.games_control,
R.drawable.messenger, R.drawable.ringtone, R.drawable.settings,
R.drawable.speech_balloon, R.drawable.weather,
R.drawable.world, R.drawable.youtube };
String[] iconName = {"通讯录","日历","照相机","时钟","游戏","信息","铃声","设置","语音","天气","浏览器","视频"};
for (int i = 0; i < drawable.length; i++) {
Map<String, Object> map = new HashMap<String, Object>();
map.put("pic", drawable[i]);
map.put("name", iconName[i]);
dataList.add(map);
}
Log.i("Main", "size="+dataList.size());
return dataList;
}
2,新建适配器
使用SimapleAdapter适配器,还是传入5个参数,注意这5个参数,1,上下文。2,数据源。3,自定义的布局文件(就是我们期望想做成的样式)。4,Map中的键名,String类型的 。5,绑定数据视图中的id,与from成对应关系,(自定义布局文件中的控件的ID)
adapter=new SimpleAdapter(this, getData(), R.layout.item, new String[]{"pic","name"}, new int[]{R.id.pic,R.id.name});
3,GridView加载适配器
gridView.setAdapter(adapter);
4,GridView配置事件监听器(OnItemCliclListener)
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Toast.makeText(MainActivity.this,"我是"+iconName[i],Toast.LENGTH_LONG).show();
}
});
有了监听事件,我们就可以在监听事件中添加代码进行响应,。。