【问题标题】: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 无法解析为变量”
如何从该包中访问资源文件夹?该类是表面视图
【问题讨论】:
标签:
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更改为您想要的文件夹名称(drawable、layout、values、...)
【解决方案2】:
您需要做的就是在主包(带有生成的R文件的那个)之外的包的类中导入R.java文件