main.xml代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<GridView
android:id="@+id/myGridView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:numColumns="3"
android:stretchMode="columnWidth" >
</GridView>

</LinearLayout>


grid_layout.xml代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ImageView
android:id="@+id/img"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="center"
android:padding="3px"/>

</LinearLayout>


.java代码 如下:

package org.lxh.demo;

import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import android.app.Activity;

import android.os.Bundle;

import android.widget.GridView;
import android.widget.SimpleAdapter;

public class Hello extends Activity {
private List<Map<String, Integer>> list = new ArrayList<Map<String, Integer>>();
private SimpleAdapter simpleAdapter = null;
private GridView gridView = null;

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); // 生命周期方法
super.setContentView(R.layout.main); // 设置要使用的布局管理器
this.initAdapter();
this.gridView = (GridView) super.findViewById(R.id.myGridView);
this.gridView.setAdapter(this.simpleAdapter);

}

private void initAdapter() {
Field[] fields = R.drawable.class.getDeclaredFields();//反射机制
for (int x = 0; x < fields.length; x++) {
if (fields[x].getName().startsWith("png_")) {
Map<String, Integer> map = new HashMap<String, Integer>();
try {
map.put("img", fields[x].getInt(R.drawable.class));
} catch (IllegalArgumentException e) {

e.printStackTrace();
} catch (IllegalAccessException e) {

e.printStackTrace();
}
this.list.add(map);
}
this.simpleAdapter = new SimpleAdapter(this, this.list,
R.layout.grid_layout, new String[] { "img" },
new int[] { R.id.img });
}
}
}


效果如下:

安卓--网格视图(GridView)实例_xml