无法从另一个类访问资源

时间:2015-09-27 03:11:21

标签: android android-activity

我正在尝试读取storage_list.xml文件。当我在MainActivity的onCreate方法中运行下面的代码时,它工作正常。但是当我从另一个类的方法运行它时它只是不起作用(它们在同一个包中)。为什么会发生这种情况,我该怎么办?

int id = Resources.getSystem().getIdentifier("storage_list", "xml", "android");
XmlResourceParser xrp = context.getResources().getXml(id);

它给出了这个例外: android.content.res.Resources $ NotFoundException:来自xml类型的文件res / xml / storage_list.xml xml资源ID#0x10f000c

注意: context是MainActivity的当前实例,它创建了第二个类。我从构造函数中传递了它。在测试MainActivity时,我将其替换为

编辑:我认为上面的代码失败了,因为我在获取资源之前使用上下文来处理不同的事情。但我不知道确切的原因,也许我错了。

1 个答案:

答案 0 :(得分:0)

我找到了原因。通过上面提到的上下文,我得到了AssetManager并调用了它的close方法。当我删除assetManager.close()时,它已修复。