首页 文章

无法用uri加载Glide

提问于
浏览
0

我正在开发一个应用程序,我正在收听图像共享请求 .

<intent-filter>
    <action android:name="android.intent.action.SEND"/>
    <category android:name="android.intent.category.DEFAULT" />
    <data android:mimeType="image/*"/>
</intent-filter>
<intent-filter>
    <action android:name="android.intent.action.SEND_MULTIPLE"/>
    <category android:name="android.intent.category.DEFAULT" />
    <data android:mimeType="image/*"/>
</intent-filter>

我能够分享图像的Uri .

private ArrayList<Uri> mGalleryImagesList;

if(recievedAction == Intent.ACTION_SEND){  
    mSelectedImages.add(Uri.parse(extras.get(Intent.EXTRA_STREAM).toString()));
}
else if(recievedAction == Intent.ACTION_SEND_MULTIPLE){
    ArrayList<Parcelable> fileList = getIntent().getParcelableArrayListExtra(Intent.EXTRA_STREAM);

    for (Parcelable file: fileList) {
        mSelectedImages.add(Uri.parse(file.toString()));
    }
}

但是,当我尝试加载ImageView时,使用Glide,它没有加载,我只看到占位符 .

...

@Override
public void onBindViewHolder(ViewHolder holder, final int position) {
    Glide.with (mContext)
            .load(mGalleryImagesList.get(position))
            .centerCrop()
            .placeholder(R.drawable.image_loading)
            .crossFade()
            .into(holder.imgAlbum);
}

我使用"Photos" app向我的应用程序分享照片时获得的Uri示例 . content://com.google.android.apps.photos.contentprovider/-1/1/content%3A%2F%2Fmedia%2Fexternal%2Ffile%2F3924/ORIGINAL/NONE/1472614544

没有例外,唯一的问题是,ImageView未加载 .

1 回答

  • 0

    图像可能太大,尝试调整大小 .

    Glide.with (mContext)
            .load(mGalleryImagesList.get(position))
            .centerCrop()
            .placeholder(R.drawable.image_loading)
            .resize(holder.imgAlbum.getLayoutParams().width, holder.imgAlbum.getLayoutParams().height)
            .crossFade()
            .into(holder.imgAlbum);
    

相关问题