有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java从应用程序类获取资源的int值

我正在设置一个通知类,该类需要独立于任何活动,但通过我的主应用程序类调用。我无法访问资源

应用程序类通过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类的构造函数,所以我不明白为什么编译器不能看到可绘制的

我是否错过了关键的一步


共 (1) 个答案

  1. # 1 楼答案

    资源Id是公共静态字段,由Gradle&;自动生成;IDE,这意味着您应该能够从项目的任何部分调用, 你的代码看起来不错

    尝试下一步“刷新”IDE(Android Studio)

    1.尝试重建项目Build | rebuild
    2.也可以试试Choose File | Invalidate Caches/Restart.