今日长缨在手,何时缚住苍龙。这篇文章主要讲述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);
}
}
它在我编码时有效。 我希望它对你也有用。 :-)
推荐阅读
- Android imageview src正在改变
- listitem中的Android listview imageview在滚动时隐藏
- Android(在MainActivity之外创建ImageView)
- 在android 5上设置ImageView colorFilter(api 21)
- 如何在Android Java中通过按钮的ID使用OnClickListener属性
- 为什么我可以像原始一样测试Wrappers的不等式(我可以为我创建的课程吗? [重复])
- Android String.format()返回问号(??)
- 是否可以通过openjdk在android上运行java应用程序
- 将参数从bootstrapper传递到msi bundle包