我有一个Android测试项目。在资源文件夹中我有字符串和颜色,但没有资源可用。我看不到任何字符串或颜色。我没有运气就清理并重建了这个项目。
要访问我正在使用的资源:
String test = context.getResources(R.string.button_text);
在这种特殊情况下,button_text
无法解析。
在字符串资源中我有四个字符串
<string name="button_text">Install</string>
<string name="button_run_unit_tests">Run All Tests</string>
<string name="Quit">Quit</string>
<string name="IsolatedTest">Run Unit Test</string>
但我无法从我的Java资源文件中访问任何内容。我错过了什么?
这就是我所看到的(不确定它的引用):
答案 0 :(得分:1)
我错过了什么?
也许您错过了正确的R
导入。根据您建议的替代品,您似乎正在从应用中导入R
。您的字符串不在您的应用中。它们位于您的测试项目中,该项目具有不同的包名称。在测试项目的清单中找到package
名称,然后尝试导入 R
。
请注意,我从未尝试过将资源放在测试项目中,因此虽然它们可以工作,但我无法确定。
答案 1 :(得分:0)
GetResources()
会为您提供一个允许您访问资源的对象。要访问该资源,您需要执行get<Type>()
(在您的情况下为getString)。所以你想做:
String test = context.getResources().getString(R.string.button_text);
另外,如果您在Activity中调用它,则不需要严格调用上下文(因为Activity是一个上下文,您可以直接执行getResources
)。