private void initGridView() { gvDisImg = (GridView) findViewById(R.id.gv_add_img); // 初始化固定的item String[] imgTips = null; try { Field field = R.array.class.getDeclaredField("img_tips_" + llIndex); int id = field.getInt(R.array.class); imgTips = getResources().getStringArray(id); } catch (Exception e) { e.printStackTrace(); } if (imgTips != null) { itemCount = imgTips.length; for (String temp : imgTips) { DisImgItem item = new DisImgItem(); item.setImgId(R.mipmap.add_img); item.setImgTips(temp); itemList.add(item); } } updateItemList(); adapter = new ImgInfoListAdapter(this, R.layout.img_grid_item, itemList); if (isEditing) { // 在编辑状态下如果开启了拍照辅助就初始化scrollView及其子view if (isShowHelper) { initScrollView(); } // 如果正在编辑的话,item是可点击的,而且最后面还有一个“补充”的项 addAddItem(); gvDisImg.setOnItemClickListener(this); } gvDisImg.setAdapter(adapter); }
private void updateItemList() { // 获取到当前数据库存储图片的集合(存在filePath) // 值得注意的是任务表和图片表是一对多,uploadpgrwinfo_id在图片实体添加到任务实体中自动生成 uploadImgList = DataSupport.where( "uploadpgrwinfo_id = ? and filefl = ? ", taskId + "", getFileFl(llIndex) + "") .find(UploadImageEntity.class); // 遍历当前当前数据库存储的图片集合,实例化为gridView的item for (UploadImageEntity info : uploadImgList) { int index = Integer.parseInt(info.getFilewz()); if (index <= itemList.size()) { itemList.get(index - 1).setImgPath(info.getFilerealpath()); } else { // 如果超出固定Item数目,则new一个item出来 DisImgItem item = new DisImgItem(); item.setImgPath(info.getFilerealpath()); itemList.add(item); } } }
private void addAddItem() { DisImgItem item = new DisImgItem(); item.setImgId(R.mipmap.add_img); item.setImgTips("补充图片"); itemList.add(item); }