【发布时间】:2019-05-07 18:26:46
【问题描述】:
我正在编写汽车管理应用程序,但在创建动态内容时遇到了一些问题。我制作了一个带有菜单的 NavigationView 以在侧边栏中显示选项。 MenuItems 的左侧应该有小图标。图像是在另一个上下文中创建的,并使用 Base64 编码发送到 mysql 数据库,然后在刷新菜单项时对其进行解码。
String carName = obj.getString("carName");
String sign = obj.getString("sign");
String bitmap = obj.getString("bitmap");
MenuItem item = menu.add(0, i, 0, carName);
byte[] decodeString = Base64.decode(bitmap, Base64.DEFAULT);
Bitmap decodeImage = BitmapFactory.decodeByteArray(decodeString, 0, decodeString.length);
BitmapDrawable d = new BitmapDrawable(getResources(), decodeImage);
item.setIcon(d);
到目前为止,我所做的是使用 Base64 编码的字符串创建一个新的 Drawable。然后我只想将MenuItem的Icon设置为创建的Drawable。这只会在 MenuItem 的左侧生成一个灰色框,而不是我想要的特定图像。
我正在使用 compileSdkVersion 28、minSdkVersion 23,使用 Android Studio 进行编码。我运行了调试器并检查了位图。 Android Studio 可以很好的显示这些。
【问题讨论】:
标签: java android menuitem bitmapfactory navigationview