Получение значения int ресурса из класса приложения

java android android-resources

45 просмотра

1 ответ

1124 Репутация автора

Я настраиваю класс уведомлений, который должен быть независимым от любого действия, но вызываться через мой основной класс приложения. У меня проблемы с доступом к ресурсам.

Класс Application получает свой контекст через context.getApplicationContext(), и это передается конструктору моего класса уведомлений:

NotificationService notificationService = new NotificationService(context, notifications);

Мне нужно установить маленькую иконку из моих Drawables, и когда я добавляю R.drawable.tv_logo_notext_bwресурс, компилятор не может найти его:

NotificationCompat.Builder builder = new NotificationCompat.Builder(context);
builder.setSmallIcon(R.drawable.tv_logo_notext_bw);

Очевидно, что для этого нужен контекст, но контекст был передан конструктору как моего класса уведомлений, так и NotificationCompatBuilderкласса, поэтому я не понимаю, почему компилятор не может видеть отрисовку.

Я пропустил какой-то важный шаг?

Автор: mwieczorek Источник Размещён: 18.07.2016 09:59

Ответы (1)


2 плюса

4498 Репутация автора

Решение

Идентификаторы ресурсов являются общедоступными статическими и автоматически генерируются вашей Gradle & IDE, это означает, что вы должны иметь возможность вызывать из любой части вашего проекта, ваш код выглядит нормально.

Попробуйте следующий шаг, чтобы «Обновить» вашу IDE (Android Studio)

1. Попробуй пересобрать свой проект Build | Перестройте
2. Также попробуйте Выбрать файл | Недействительные кэши / перезапуск.

Автор: Nir Duan Размещён: 18.07.2016 11:42
Вопросы из категории :
32x32