package org.wangliang.gridview;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.HashMap;
import android.app.Activity;
import android.os.Bundle;
import android.widget.GridView;
import android.widget.SimpleAdapter;
import android.widget.Toast;
public class Main extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.gridview);
setupAdapter();
}
private void setupAdapter() {
// TODO Auto-generated method stub
GridView gridView = (GridView) findViewById(R.id.emotions);
ArrayList> data = new ArrayList>();
Field[] fileds = R.drawable.class.getDeclaredFields();
for(Field f:fileds) {
if(!f.getName().equals("icon")) {
int id;
try {
id = f.getInt(null);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
Toast.makeText(this, "wrong!", 1).show();
return ;
}
HashMap map = new HashMap();
map.put("image", id);//这里使用的是资源的id
data.add(map);
}
}
SimpleAdapter adapter = new SimpleAdapter(
this, data, R.layout.gridview_item,
new String[] {"image"},
new int[] {R.id.emotion_item});
gridView.setAdapter(adapter);
}
}
//下面是布局文件gridview..xml
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
android:id="@+id/emotions"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scrollbars="vertical"
android:numColumns="auto_fit"
android:verticalSpacing="10dp"
android:stretchMode="columnWidth"
android:gravity="center"
android:columnWidth="40dp"
>
//下面是布局文件gridview_item.xmlxmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
android:id="@+id/emotion_item"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="50"
android:layout_gravity="center"
>