java– 从Gallary中选择的图像不会在ImageView中设置

java– 从Gallary中选择的图像不会在ImageView中设置,第1张

概述我正在使用具有OSAndroid5.1.1的MotorolaG3设备.当我试图从图库中选择一张图片并将其设置为ImageView时,我会遇到异常.以下是我的代码:@OverrideprotectedvoidonActivityResult(intrequestCode,intresultCode,Intentdata){super.onActivityResult(reque

我正在使用具有OS Android 5.1.1的Motorola G3设备.

当我试图从图库中选择一张图片并将其设置为ImageVIEw时,我会遇到异常.以下是我的代码:

@OverrIDe    protected voID onActivityResult(int requestCode, int resultCode, Intent data) {        super.onActivityResult(requestCode, resultCode, data);        String selectedImageUri = getimageFromChooser(requestCode, resultCode, data);        if (!selectedImageUri.equals("")) {            Uri filePath = data.getData();            try {                Bitmap bitmap = BitmapFactory.decodefile(selectedImageUri);                ivAvatar.setimageBitmap(Bitmap.createScaledBitmap(bitmap, 120, 120, false));             } catch (Exception e) {                e.printstacktrace();            }        } else {            Toast.makeText(getApplicationContext(), "Try Again!", Toast.LENGTH_LONG).show();        }}

我已经调试了代码,并且知道URI正在正常运行,问题是初始化Bitmap对象.

在这里,我有一个例外:

请有人帮我解决这个问题:

01-01 12:12:16.074 27143-27143/com.wavi E/UploadItemActivity: IDx :: 001-01 12:12:16.074 27143-27143/com.wavi E/selectedImageURI:ImagePhoto:-/storage/emulated/0/Pictures/1451279699474.jpg01-01 12:12:16.076 27143-27143/com.wavi E/UploadItemActivity: Image Pathe ::  /storage/emulated/0/Pictures/1451279699474.jpg01-01 12:12:16.078 27143-27143/com.wavi E/BitmapFactory: Unable to decode stream: java.io.fileNotFoundException: /storage/emulated/0/Pictures/1451279699474.jpg: open Failed: EACCES (Permission denIEd)01-01 12:12:16.078 27143-27143/com.wavi W/System.err: java.lang.NullPointerException: Attempt to invoke virtual method 'int androID.graphics.Bitmap.getWIDth()' on a null object reference01-01 12:12:16.082 27143-27143/com.wavi W/System.err:     at androID.graphics.Bitmap.createScaledBitmap(Bitmap.java:617)01-01 12:12:16.082 27143-27143/com.wavi W/System.err:at com.wavi.profile.EditProfileActivity.onActivityResult(EditProfileActivity.java:201)01-01 12:12:16.082 27143-27143/com.wavi W/System.err:at androID.app.Activity.dispatchActivityResult(Activity.java:6218)01-01 12:12:16.082 27143-27143/com.wavi W/System.err:at androID.app.ActivityThread.deliverResults(ActivityThread.java:3655)01-01 12:12:16.082 27143-27143/com.wavi W/System.err:at androID.app.ActivityThread.handleSendResult(ActivityThread.java:3702)01-01 12:12:16.082 27143-27143/com.wavi W/System.err:at androID.app.ActivityThread.access00(ActivityThread.java:155)01-01 12:12:16.082 27143-27143/com.wavi W/System.err:at androID.app.ActivityThread$H.handleMessage(ActivityThread.java:1366)01-01 12:12:16.082 27143-27143/com.wavi W/System.err:at androID.os.Handler.dispatchMessage(Handler.java:102)01-01 12:12:16.082 27143-27143/com.wavi W/System.err:at androID.os.Looper.loop(Looper.java:135)01-01 12:12:16.082 27143-27143/com.wavi W/System.err:at androID.app.ActivityThread.main(ActivityThread.java:5343)01-01 12:12:16.082 27143-27143/com.wavi W/System.err:at java.lang.reflect.Method.invoke(Native Method)01-01 12:12:16.082 27143-27143/com.wavi W/System.err:at java.lang.reflect.Method.invoke(Method.java:372)01-01 12:12:16.082 27143-27143/com.wavi W/System.err:at com.androID.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:907)01-01 12:12:16.082 27143-27143/com.wavi W/System.err:at com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:702)

谢谢!

解决方法:

它显然写在你的logcat权限被拒绝,你需要在你的清单中给予READ权限.

<uses-permission androID:name="androID.permission.READ_EXTERNAL_STORAGE" />
总结

以上是内存溢出为你收集整理的java – 从Gallary中选择的图像不会在ImageView中设置全部内容,希望文章能够帮你解决java – 从Gallary中选择的图像不会在ImageView中设置所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1111008.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存