无法使用 uri 加载 Glide
unable to load Glide with uri
我正在开发一个应用程序,我正在听图像共享请求。
<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()));
}
}
但是,当我尝试使用 Glide 加载 ImageView 时,它没有加载,我只看到占位符。
...
@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" 应用程序将照片分享到我的应用程序时得到的 Uri 示例。
content://com.google.android.apps.photos.contentprovider/-1/1/content%3A%2F%2Fmedia%2Fexternal%2Ffile%2F3924/ORIGINAL/NONE/1472614544
没有例外,唯一的问题是,ImageView 没有加载。
图片可能太大,请尝试调整大小。
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);
我正在开发一个应用程序,我正在听图像共享请求。
<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()));
}
}
但是,当我尝试使用 Glide 加载 ImageView 时,它没有加载,我只看到占位符。
...
@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" 应用程序将照片分享到我的应用程序时得到的 Uri 示例。 content://com.google.android.apps.photos.contentprovider/-1/1/content%3A%2F%2Fmedia%2Fexternal%2Ffile%2F3924/ORIGINAL/NONE/1472614544
没有例外,唯一的问题是,ImageView 没有加载。
图片可能太大,请尝试调整大小。
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);