http://blog.csdn.net/aminfo/article/details/7622020

效果图如下:

代码:
gridview.xml

[html] view plain copy
  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <GridViewxmlns:android="http://schemas.android.com/apk/res/android"
  3. android:id="@+id/gridview"
  4. android:layout_width="fill_parent"
  5. android:layout_height="fill_parent"
  6. android:numColumns="auto_fit"
  7. android:verticalSpacing="10dp"
  8. android:horizontalSpacing="10dp"
  9. android:columnWidth="90dp"
  10. android:stretchMode="columnWidth"
  11. android:gravity="center"
  12. />

item.xml

[html] view plain copy
  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_height="wrap_content"
  4. android:layout_width="fill_parent"
  5. android:paddingBottom="4dip"
  6. >
  7. <ImageView
  8. android:id="@+id/ItemImage"
  9. android:layout_height="wrap_content"
  10. android:layout_width="wrap_content"
  11. android:layout_centerHorizontal="true"
  12. />
  13. <TextView
  14. android:id="@+id/ItemText"
  15. android:layout_width="wrap_content"
  16. android:layout_below="@+id/ItemImage"
  17. android:layout_height="wrap_content"
  18. android:layout_centerHorizontal="true"
  19. android:text="TextView01"
  20. />
  21. </RelativeLayout>


TestGridView.java

[java] view plain copy
  1. packagecom.test;
  2. importjava.util.ArrayList;
  3. importjava.util.HashMap;
  4. importandroid.app.Activity;
  5. importandroid.os.Bundle;
  6. importandroid.view.View;
  7. importandroid.widget.AdapterView;
  8. importandroid.widget.AdapterView.OnItemClickListener;
  9. importandroid.widget.GridView;
  10. importandroid.widget.SimpleAdapter;
  11. publicclassTestGridViewextendsActivity{
  12. privateGridViewgridview;
  13. publicvoidonCreate(BundlesavedInstanceState){
  14. super.onCreate(savedInstanceState);
  15. setContentView(R.layout.gridview);
  16. gridview=(GridView)findViewById(R.id.gridview);
  17. //生成动态数组,并且转入数据
  18. ArrayList<HashMap<String,Object>>lstImageItem=newArrayList<HashMap<String,Object>>();
  19. for(inti=0;i<10;i++){
  20. HashMap<String,Object>map=newHashMap<String,Object>();
  21. map.put("ItemImage",R.drawable.icon);//添加图像资源的ID
  22. map.put("ItemText","NO."+String.valueOf(i));//按序号做ItemText
  23. lstImageItem.add(map);
  24. }
  25. //生成适配器的ImageItem<====>动态数组的元素,两者一一对应
  26. SimpleAdaptersaImageItems=newSimpleAdapter(this,//没什么解释
  27. lstImageItem,//数据来源
  28. R.layout.item,//night_item的XML实现
  29. //动态数组与ImageItem对应的子项
  30. newString[]{"ItemImage","ItemText"},
  31. //ImageItem的XML文件里面的一个ImageView,两个TextViewID
  32. newint[]{R.id.ItemImage,R.id.ItemText});
  33. //添加并且显示
  34. gridview.setAdapter(saImageItems);
  35. //添加消息处理
  36. gridview.setOnItemClickListener(newItemClickListener());
  37. }
  38. //当AdapterView被单击(触摸屏或者键盘),则返回的Item单击事件
  39. classItemClickListenerimplementsOnItemClickListener{
  40. publicvoidonItemClick(AdapterView<?>arg0,//TheAdapterViewwheretheclickhappened
  41. Viewarg1,//TheviewwithintheAdapterViewthatwasclicked
  42. intarg2,//Thepositionoftheviewintheadapter
  43. longarg3//Therowidoftheitemthatwasclicked
  44. ){
  45. //在本例中arg2=arg3
  46. @SuppressWarnings("unchecked")
  47. HashMap<String,Object>item=(HashMap<String,Object>)arg0.getItemAtPosition(arg2);
  48. //显示所选Item的ItemText
  49. setTitle((String)item.get("ItemText"));
  50. }
  51. }
  52. }

更多相关文章

  1. Android(安卓)Intent Action 大全
  2. 使用ContentProvider管理照片
  3. android音频波形图绘制
  4. android java.util.Date和java.util.sql中Date的区别
  5. Android返回数据给上一个活动-startActivityForResult
  6. android 数据操作 2011.8.27
  7. GSON数据解析异常报错java.lang.IllegalArgumentException: Unab
  8. Android中的Activity Action大全
  9. Android:intent用法实例

随机推荐

  1. [Android(安卓)XML] --- android:scaleTy
  2. [置顶] Android(安卓)使用Android(安卓)S
  3. 分享:Android开发半月谈
  4. Android(安卓)- Binder机制 - client和普
  5. android 入门xml布局文件
  6. android开发资源汇总
  7. Android(安卓)入门必须知道的 英文缩写
  8. Android(安卓)消息推送
  9. Android(安卓)之使用Android(安卓)Studio
  10. Android(安卓)AS代码警告 (个人笔记)