// 创建一个List对象,List对象的元素是Map List<Map<String, Object>> listItems = new ArrayList<Map<String, Object>>(); for (int i = 0; i < imageIds.length; i++) { Map<String, Object> listItem = new HashMap<String, Object>(); listItem.put("image", imageIds[i]);//为list对象设置图片 listItems.add(listItem);//添加进组件 } // 获取显示图片的ImageView imageView = (ImageView) findViewById(R.id.imageView); // 创建一个SimpleAdapter SimpleAdapter simpleAdapter = new SimpleAdapter(this, listItems // 使用/layout/cell.xml文件作为界面布局 , R.layout.cell, new String[] { "image" }, new int[] { R.id.image1 }); grid = (GridView) findViewById(R.id.grid01); // 为GridView设置Adapter grid.setAdapter(simpleAdapter); /***************以下两个事件监听器看似一样将第二个删去后显示失败,将第一个删去后正常显示。****选中监听器失效。。小编以为,本程序为点击事件监听,没有选中的关系。。。。。 ***************/ // 添加列表项被选中的监听器 grid.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { // 显示当前被选中的图片 imageView.setImageResource(imageIds[position]); } @Override public void onNothingSelected(AdapterView<?> parent) { } }); // 添加列表项被单击的监听器 grid.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // 显示被单击的图片 imageView.setImageResource(imageIds[position]); } });/***************************************************************************/}
时间: 2024-11-18 05:42:46