第一次提问。 我是 Android Studio 的新手,我正忙于在其中创建一个应用程序,它将扫描包含 Base64 编码图像(以 Base64 字符串的形式)的 QR 码。然后需要对该字符串进行解码,并且必须显示生成的图像。我想我已经设法使用以下方法正确解码:
byte[] imageBytes = Base64.decode(result.getContents(), Base64.DEFAULT);
Bitmap decodedByte = BitmapFactory.decodeByteArray(imageBytes, 0,imageBytes.length);
其中“result.getContents()”返回将被转换的 Base64 字符串。
让我感到困惑的部分是使用 ImageView 和 XML 显示它。我目前有这个:
ImageView image = (ImageView) findViewById(R.id.image);
image.setImageBitmap(decodedByte);
我对应该如何使用 XML 显示此图像感到有点困惑,因为我理解“findViewById(R.id.image);”中的“图像”。是 XML 图像 ID。我见过的所有示例都涉及显示可绘制的静态图像,但我想要显示的图像会根据我正在解码的 Base64 字符串而改变。我刚刚开始学习 XML,我知道可绘制图片的常用 ImageView 代码块看起来像这样:
<ImageView
android:id="@+id/x2"
android:src="@drawable/book"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
我的问题是如何更改它以显示我已解码的图像。
最佳答案
XML 中的 ImageView 与您尝试设置的 ID 不同。如下所示将您的 findViewById 更改为 x2
ImageView image = (ImageView) findViewById(R.id.x2);
image.setImageBitmap(decodedByte);
关于java - 显示位图图像 (ImageView),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50945105/