Android-GridView (Simpleadapter)
原创
©著作权归作者所有:来自51CTO博客作者原小明呢的原创作品,请联系作者获取转载授权,否则将追究法律责任
1.回顾
上篇 是 ListView 和 SimpleAdapter,ArrayAdapter ,BaseAdapter 的学习,并通过 Item点击事件和 Scroll 滑动 事件,进行了学习。
后又学习了 DatePicker 和 TimePicker ,和日期类 Calendar;
2.重点
(1) GridView 重要属性
(2)SimpleAdapter 的实现
(3)OnItemClickListener 事件
3.GridView重要属性
每一行显示多少列: android:numColumns="auto_fit" auto_fit:表示自适应 ,3 表示 3列
两列之间的间距: android:horizontalSpacing="10dp"
两行之间的距离: android:verticalSpacing="10dp"
例子:
<GridView
android:id="@+id/gridView1"
android:numColumns="4"
android:horizontalSpacing="10dp"
android:verticalSpacing="10dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true" >
</GridView>
4. 一个例子
4.1 效果图
4.2 实现步骤
(1)初始化GridView
findViewById 操作
(2)初始化SimpleAdapter 及 其 布局 ,这个和 上篇listview 中使用的一样,可以看上篇;
ListView详解
在这里,依然使用 :
List<Map<String,Object>> maps=new ArrayList<Map<String,Object>>();
for(int i=0;i<21;i++){
Map<String, Object> map=new HashMap<String, Object>();
map.put("image",R.drawable.ic_launcher);
map.put("name","yuan"+i);
maps.add(map);
}
SimpleAdapter simpleAdapter=new SimpleAdapter(this,maps,R.layout.list_main,new String[]{"image","name"},new int[]{R.id.imageView1,R.id.textView2});
gridView1.setAdapter(simpleAdapter);
(3)这里的SimpleAdapter 就不解释了,需要的看 ListView 详解
5.OnItemClickListener 事件
通过position 获取值
/*
* GridView Item 点击
*/
class gridOnItemOnClick implements OnItemClickListener{
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
// GridView Item 点击
//String item= (String) gridView1.getItemAtPosition(position);
Toast.makeText(getApplicationContext(),maps.get(position).toString(), Toast.LENGTH_SHORT).show();
}
}
6. 总结
这里是通过 SimpleAdapter 实现的 ,也可以通过 BaseAdapter 实现;