public class GirdViewActivity extends Activity implements AdapterView.OnItemClickListener { private GridView gridView; private SimpleAdapter simpleAdapter; private List<Map<String,Object>> dataList; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_gird); gridView = (GridView)findViewById(R.id.gridView); //SimpleAdapter /* * context:上下文 * data:數據源(List<? extends Map<String,?>>data) 一個map組成的list集合 * resource:列表項的佈局文件ID * from:Map中的鍵名 * to:綁定數據視圖中的ID,與from成對應關係 * */ dataList = new ArrayList<Map<String, Object>>(); simpleAdapter = new SimpleAdapter(this,getData(),R.layout.cell,new String[]{"cellpic","celltext"},new int[]{R.id.cellpic,R.id.celltext}); gridView.setAdapter(simpleAdapter); gridView.setOnItemClickListener(this); } private List<Map<String,Object>> getData(){ for (int i = 0;i<12;i++){ Map<String,Object>map = new HashMap<String,Object>(); map.put("cellpic",R.drawable.icon); map.put("celltext","測試"+i); dataList.add(map); } return dataList; } @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { String text = gridView.getItemAtPosition(position)+""; Toast.makeText(this,"position = "+position+" text"+text,Toast.LENGTH_SHORT).show(); } }