Android图片上传实现预览效果

2019-12-10 19:13:05于海丽

 同样也是用了GridView,获取手机中的图片,添加到数组中,显示

这里用到了一个AlbumHelper(相册帮助类),网上找的代码,感觉挺好的

public List<ImageBucket> getImagesBucketList(boolean refresh) { 
    if (refresh || (!refresh && !hasBuildImagesBucketList)) { 
      buildImagesBucketList(); 
    } 
    List<ImageBucket> tmpList = new ArrayList<ImageBucket>(); 
    Iterator<Entry<String, ImageBucket>> itr = bucketList.entrySet() 
        .iterator(); 
    while (itr.hasNext()) { 
      Entry<String, ImageBucket> entry = (Entry<String, ImageBucket>) itr 
          .next(); 
      tmpList.add(entry.getValue()); 
    } 
    return tmpList; 
  } 

获取到数据源之后,该显示了,也就是利用的获取图片帮助类里面的方法

// 初始化,给一些对象赋值 
  private void init() { 
    helper = AlbumHelper.getHelper(); 
    helper.init(getApplicationContext()); 
     
    contentList = helper.getImagesBucketList(false); 
    dataList = new ArrayList<ImageItem>(); 
    for(int i = 0; i<contentList.size(); i++){ 
      dataList.addAll( contentList.get(i).imageList ); 
    } 
     
    back = (Button) findViewById(R.id.back); 
    cancel = (Button) findViewById(R.id.cancel); 
    cancel.setOnClickListener(new CancelListener()); 
    back.setOnClickListener(new BackListener()); 
    preview = (Button) findViewById(R.id.preview); 
    preview.setOnClickListener(new PreviewListener()); 
    intent = getIntent(); 
    Bundle bundle = intent.getExtras(); 
    gridView = (GridView) findViewById(R.id.myGrid); 
    gridImageAdapter = new AlbumGridViewAdapter(mContext,dataList,Bimp.tempSelectBitmap); 
    gridView.setAdapter(gridImageAdapter); 
    tv = (TextView) findViewById(R.id.myText); 
    gridView.setEmptyView(tv); 
    okButton = (Button) findViewById(R.id.ok_button); 
    okButton.setText("完成"+"(" + Bimp.tempSelectBitmap.size() 
        + "/"+ NeedApplication.picNums+")"); 
  }