java - 显示位图图像 (ImageView)

标签 java android xml

第一次提问。 我是 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/

相关文章:

java - Java中的契约是什么

java - 在Java中枚举用户的组

android - 错误 : with apollo-codegen package while working on AWS amplify

java - 使用 AtlasMap 将 xml 转换为 json

java - 将 DynamoDB 与 Spring Boot 结合使用时出现错误请求 (404)

java - 在模块化程序中使用多维数组

java - 滚动后自定义 ListView 崩溃

java - 仅使用 Java 从数据库填充微调器?

xml - XSLT 属性字符串测试

c++ - 删除特定属性后如何删除在 XML 文件中创建的空行