1
我試圖顯示與滑翔局部圖:異常使用時的Glide圖書館
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
final ImageView imageView = (ImageView) findViewById(R.id.backdrop);
if (resultCode == RESULT_OK) {
if (intent != null) {
String picName = RutaActivity.getPicName(MyApplication.TAKE_PDV_PIC);
String newPicPath = ImageUtils.saveLargePic((Activity) ctx, picName);
Log.e("pic", newPicPath);
Glide.with(ctx)
.load(newPicPath)
.asBitmap()
.toBytes()
.centerCrop()
.into(imageView);
}
}
}
我檢查了newPicPath,和路徑是確定的,但我得到這個例外...留言還不是很明確...任何想法?
java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=10, result=-1, data=Intent { act=inline-data dat=content://media/external/images/media/206 (has extras) }} to activity {com.myapp.mobile/com.myapp.mobile.AddActivity}: java.lang.IllegalArgumentException: Unhandled class: class [B, try .as*(Class).transcode(ResourceTranscoder)
at android.app.ActivityThread.deliverResults(ActivityThread.java:3187)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:3230)
at android.app.ActivityThread.access$1200(ActivityThread.java:134)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1266)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4867)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1007)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:774)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.IllegalArgumentException: Unhandled class: class [B, try .as*(Class).transcode(ResourceTranscoder)
at com.bumptech.glide.request.target.ImageViewTargetFactory.buildTarget(ImageViewTargetFactory.java:24)
at com.bumptech.glide.Glide.buildImageViewTarget(Glide.java:297)
at com.bumptech.glide.GenericRequestBuilder.into(GenericRequestBuilder.java:697)
at com.bumptech.glide.BitmapRequestBuilder.into(BitmapRequestBuilder.java:498)
at com.myapp.mobile.AddActivity.onActivityResult(AddActivity.java:134)
at android.app.Activity.dispatchActivityResult(Activity.java:5231)
at android.app.ActivityThread.deliverResults(ActivityThread.java:3183)
toBytes()調用表明您希望Glide採用解碼類型(在這種情況下,因爲asBitmap()調用,位圖),並在顯示它之前將其轉換爲byte []。但是,Glide不支持在ImageViews中顯示byte []。如果你刪除了toBytes()調用,那麼你只需加載一個Bitmap,這個Glide可以在ImageView中顯示。 –
Tx的解釋! –
我需要使用toBytes以將其轉換爲像toBytes(CompressFormat.JPEG,80)這樣的jpeg類型,但我得到的是相同的異常。任何人都知道如何解決這個問題? – Basanth