imageView.setImageBitmap图像空白(Android 4.4)

今日长缨在手,何时缚住苍龙。这篇文章主要讲述imageView.setImageBitmap图像空白(Android 4.4)相关的知识,希望能为你提供帮助。
我有一个想要从jpg文件(照片)填充的ImageView。我首先检查文件是否存在,然后使用setImageBitmap加载ImageView,但ImageView仍为空白。我已经转储了logcat,并没有引发异常。我还调试了代码来检查图像文件是否存在,它确实存在。我正在测试运行android 4.4.2的Galaxy S4。有问题的图像文件位于外部SD卡上,因此我在AndroidManifest中设置了android.permission.READ_EXTERNAL_STORAGE权限。
【imageView.setImageBitmap图像空白(Android 4.4)】我在StackOverflow和其他地方都阅读过这类问题的大量其他引用。其中一个建议在setImageBitmap之后添加imageView.invalidate(),我尝试过(见下文),但它没有帮助。有没有人有任何其他想法?
在下面的代码中,调试器显示具有此值的imageLocation字符串:/storage/extSdCard/DCIM/Camera/12345.jpg。

File imageFile = new File(imageLocation); if (imageFile.exists()) { Bitmap bm = BitmapFactory.decodeFile(imageLocation); imageView.setImageBitmap(bm); imageView.invalidate(); }

答案如果你的代码是在onCreate()方法的Activity中它将无法正常工作。
只需将该代码放入任何其他事件,如Button的Click事件,图像就会出现:
< Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Click Me" android:onClick="ShowImage"/>

只需在您的Activity中编写一个方法,如下所示:
public void ShowImage(View view) { File imageFile = new File(imageLocation); if (imageFile.exists()) { Bitmap bm = BitmapFactory.decodeFile(imageLocation); imageView.setImageBitmap(bm); } }

它在我编码时有效。 我希望它对你也有用。 :-)

    推荐阅读