Я пишу приложение для администрирования автомобиля и столкнулся с некоторыми проблемами при создании динамического контента.Я сделал NavigationView с меню для отображения параметров на боковой панели.Элементы меню должны иметь маленькие значки слева.Изображения создаются в другом контексте и отправляются в базу данных mysql с кодировкой Base64, которая затем декодируется при обновлении пунктов меню.
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);
На данный момент я создал новый Drawable с String в кодировке Base64.,Затем я просто хочу установить значок элемента MenuItem на созданный Drawable.Это создает только серое поле слева от MenuItem, а не конкретное изображение, которое я хотел бы иметь там.
Я использую compileSdkVersion 28, minSdkVersion 23, кодирование с помощью Android Studio.Я запустил отладчик и проверил растровые изображения.Android Studio может отображать эти штрафа.