【问题标题】:Getting Resources from another package从另一个包中获取资源
【发布时间】:2014-02-28 23:08:30
【问题描述】:

在 src/ 里面我有以下包:com.app.animals, com.app.animals.threads, com.app.animals.games

当我尝试从 com.app.animals.games 中名为“CarreraJuego.java”的类中获取我的项目资源(可绘制文件夹)时,它显示“R 无法解析为变量”

如何从该包中访问资源文件夹?该类是表面视图

【问题讨论】:

  • 你确定你已经导入了R类吗?

标签: android resources package


【解决方案1】:

这里有一个简单快捷的方法来实现它:

try
{
    PackageManager manager = getPackageManager();
    Resources resources = manager.getResourcesForApplication("com.example.packagename");
    int resId = resources.getIdentifier("drawable_id", "drawable", "com.example.packagename");

    Drawable myDrawable = resources.getDrawable(resId);

    // Do something
}
catch (Exception e)
{
    e.printStackTrace();
}

更改com.example.packagename 宽度为您需要资源的应用程序的包名称。 将 drawable_id 更改为资源 ID。 将drawable更改为您想要的文件夹名称(drawablelayoutvalues、...)

【讨论】:

  • 是否也可以遍历给定应用程序的所有资源?
【解决方案2】:

您需要做的就是在主包(带有生成的R文件的那个)之外的包的类中导入R.java文件

【讨论】:

    猜你喜欢
    • 2018-10-18
    • 1970-01-01
    • 2012-07-02
    • 1970-01-01
    • 1970-01-01
    • 2014-07-12
    • 1970-01-01
    • 1970-01-01
    • 2012-07-30
    相关资源
    最近更新 更多