我有一个Java类,它主要包含字符串。它没有布局,因为它既不是片段也不是活动。它更多地被用作辅助类。我想通过使用Resource字符串来分配类中的String值,因为我想自动转换String。但是,我无法从Java访问字符串资源。我使用以下代码:
static String more = getString(R.string.more);
在XML文件中,我有一个资源:
<string name="more">More</string>
我收到错误信息
Cannot resolve method 'getString'
我也试过static String more = getContext().getString(R.string.more);
但我收到错误信息:
Cannot resolve method 'getContext'
有人介意帮我一下吗?我非常感谢您的每一条评论。
更新:我试图使用";MikaelM";
Resources.getSystem().getString(R.string.more)
然而,我得到了一个";初始化器错误中的异常";当我再次使用初始字符串时,我不会得到这个错误。所以我仍然无法从资源中获取字符串。你知道我能做什么吗?如有进一步评论,我将不胜感激。因此,该错误是由";原因:android.content.res.Resources$NotFoundException: String resource ID #0x7f120038"
奇怪的是,资源实际上是存在的(我检查了好几次(。
getString(R.string...
与不同
Resources.getSystem().getString(android.R.string...
只有第二种变体可以在静态上下文中使用。唉,你只能通过这种方式获得系统资源。
如果您需要获得自己的资源,则不存在单行解决方案。使用https://stackoverflow.com/a/4391811/715269@Cristian的解决方案。注意:这是一个非常好的解决方案,更重要的是,它是安卓创建者打算使用的解决方案。
您应该能够使用获取字符串
Resources.getSystem().getString(R.string.more)
请参阅此处的更多信息,getString Outside a Context或Activity