【问题标题】:Android: Any idea why cannot load drawable object?Android:知道为什么不能加载可绘制对象吗?
【发布时间】:2009-10-15 11:04:00
【问题描述】:

res/drawable map里面的项目中包含了几个定制的图形对象(.png文件)。

除了两个图标外,所有元素都正常加载并显示在用户界面中,到目前为止还没有弄清楚导致问题的原因。

不影响用户界面的代码如下:

if (settings.isMute()) {
        muteIcon.setIconImage(R.drawable.ic_volume_off_small);
    } else {
        muteIcon.setIconImage(R.drawable.ic_volume_small);
    }

在这两种情况下,屏幕上只显示ic_volume_small,IDE 中的“变量”窗口显示以下内容:

R.drawable.ic_volume_small = 类不 加载:net.client.android.R$drawable R.drawable.ic_volume_of_small = 类 未加载: net.client.android.R$drawable

改变图标图像的方法(IconImage 类的成员)如下:

public void setIconImage(int imageFromResources) {
    iconImage = BitmapFactory.decodeResource(getResources(), imageFromResources);
    iconWidth = iconImage.getWidth();
    iconHeight = iconImage.getHeight();
    invalidate();

}

有谁知道可能导致所描述问题的原因?

谢谢!

【问题讨论】:

    标签: android resources


    【解决方案1】:

    假设您想要的是 Android 框架中的可绘制对象,而不是您自己的,您会想使用:

    android.R.drawable.ic_volumne_off_small
    

    而不是

    R.drawable.ic_volume_off_small
    

    (注意 android 前缀)。

    【讨论】:

    • 我确实想使用我自己的自定义资源
    • 你是在你的java文件中导入Android.R吗?如果是这种情况,它可以隐藏你自己的 R 文件。
    【解决方案2】:

    如果您最近添加了文件,请刷新(按 F5)drawable 目录,R 将再次生成。重新生成 R 后,您就可以使用新添加的资源了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-13
      • 2017-09-14
      • 2022-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多