【问题标题】:Android unable to set images from gallery to ImageViewsAndroid 无法将图库中的图像设置为 ImageViews
【发布时间】:2017-07-24 09:51:57
【问题描述】:

我正在使用这个库(https://github.com/darsh2/MultipleImageSelect) 从图库中选择图像并将图像设置为 Imageviews。在 onActivityResult() 中我使用ArrayList<Image> images = data.getParcelableArrayListExtra(Constants.INTENT_EXTRA_IMAGES); 来获取所选图像的路径。但我不能将我选择的图像设置为 ImageViews。

代码:

   Intent intent = new Intent(AddOffers.this, AlbumSelectActivity.class);
                    //set limit on number of images that can be selected, default is 10
                    intent.putExtra(Constants.INTENT_EXTRA_LIMIT, 3);
                    startActivityForResult(intent, Constants.REQUEST_CODE);

    @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            if (requestCode == Constants.REQUEST_CODE && resultCode == RESULT_OK && data != null) {
                //The array list has the image paths of the selected images
                ArrayList<Image> images =     data.getParcelableArrayListExtra(Constants.INTENT_EXTRA_IMAGES);
                offr_img1.setImageUri(images.get(0));
 }}

【问题讨论】:

  • 你得到的 'images.get(0)' 的值是多少?
  • 当我使用红色下划线的方法时(错误)
  • 这是arraylist images中数据的类型(com.darsh.multipleimageselect.models.Image)
  • 添加了答案。告诉它是否有效。

标签: android imageview gallery


【解决方案1】:

我看到的是您正在传递完整的 Image 对象,但您应该传递一个路径来设置图像。

在您的代码中,尝试更改它 -

offr_img1.setImageUri(images.get(0));

offr_img1.setImageUri(images.get(0).path);

【讨论】:

【解决方案2】:

使用这个:

       Intent intent = new Intent(AddOffers.this, AlbumSelectActivity.class);
                //set limit on number of images that can be selected, default is 10
                intent.putExtra(Constants.INTENT_EXTRA_LIMIT, 3);
                startActivityForResult(intent, Constants.REQUEST_CODE);

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == Constants.REQUEST_CODE && resultCode == RESULT_OK && data != null) {
            //The array list has the image paths of the selected images
            ArrayList<Image> images = data.getParcelableArrayListExtra(Constants.INTENT_EXTRA_IMAGES);
             Uri uri=Uri.parse(images.get(0).path);
            offr_img1.setImageUri(uri);
    }}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-24
    • 1970-01-01
    • 1970-01-01
    • 2020-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多