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 效果图

                                                     

Android-GridView (Simpleadapter)_gridView

    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 实现;