一、布局文件
1、布局文件GridView
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:weightSum="1">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<GridView android:id="@+id/gridView1"
android:layout_height="wrap_content" android:background="#000000" android:numColumns="4" android:layout_width="wrap_content">
</GridView>
</LinearLayout>
2、grid_item.xml布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView android:layout_height="wrap_content" android:id="@+id/item_imageView"
android:layout_width="wrap_content" android:src="@drawable/icon" android:layout_gravity="center"></ImageView>
<TextView android:text="TextView" android:id="@+id/item_textView"
android:layout_width="wrap_content"
android:textColor="#ffffff"
android:layout_height="wrap_content" android:layout_gravity="center"></TextView>
</LinearLayout>
二、代码
1、使用ArrayAdapter适配器绑定
private String[] item = { "唐僧", "孙悟空 ", "猪八戒", "沙和尚" };
private ArrayAdapter adapter;
private GridView gridView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
gridView = (GridView) findViewById(R.id.gridView1);
// 设定一个Array适配器,将数组数据放入适配器中
adapter = new ArrayAdapter(this,
android.R.layout.simple_dropdown_item_1line, item);
// 对GridView进行适配
gridView.setAdapter(adapter);
}
2、使用SimpleAdapter适配器绑定
private String[] item = { "唐僧", "孙悟空 ", "猪八戒", "沙和尚" };
private SimpleAdapter adapterSimple;
private GridView gridView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
gridView = (GridView) findViewById(R.id.gridView1);
//创建一个ArrayList列表,内部存的是HashMap列表
ArrayList<HashMap<String, Object>> listItems = new ArrayList<HashMap<String, Object>>();
//将数组信息分别存入ArrayList中
int len = item.length;
for(int i=0; i < len ; i++){
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("image", R.drawable.icon);
map.put("item", item[i]);
listItems.add(map);
}
//HashMap中的Key信息,要与grid_item.xml中的信息作对应
String[] from = {"image", "item"};
//grid_item.xml中对应的ImageView控件和TextView控件
int[] to = {R.id.item_imageView, R.id.item_textView};
// 设定一个适配器
adapterSimple = new SimpleAdapter(this, listItems, R.layout.grid_item, from, to);
// 对GridView进行适配
gridView.setAdapter(adapterSimple);
}