如何在没有布局的Android中使用Java文件中的字符串资源
我有一个主要包含字符串的Java类。它没有布局,因为它既不是片段也不是活动。它更多地用作辅助类。我希望通过使用资源字符串在类中分配字符串值,因为我希望自动转换字符串。但是,我无法从Java访问字符串资源。我使用以下代码:如何在没有布局的Android中使用Java文件中的字符串资源,java,android,string,Java,Android,String,我有一个主要包含字符串的Java类。它没有布局,因为它既不是片段也不是活动。它更多地用作辅助类。我希望通过使用资源字符串在类中分配字符串值,因为我希望自动转换字符串。但是,我无法从Java访问字符串资源。我使用以下代码: static String more = getString(R.string.more); 在XML文件中,我有一个ressource: <string name="more">More</string> 我还尝试了stati
static String more = getString(R.string.more);
在XML文件中,我有一个ressource:
<string name="more">More</string>
我还尝试了staticstringmore=getContext().getString(R.String.more)代码>
但我得到了错误信息:
Cannot resolve method 'getContext'
有人介意帮我吗?我很感激你的每一句话
更新:我试着用“MikaelM”的答案
但是,我得到了一个“初始值设定项错误中的异常”,当我再次使用初始字符串时,我没有得到这个错误。所以我仍然无法从ressource获取字符串。你知道我能做什么吗?我将非常感谢您的进一步评论。
因此,该错误是由“由以下原因引起的:android.content.res.Resources$NotFoundException:String resource ID#0x7f120038”
奇怪的是,资源实际上存在(我检查了好几次)。您应该能够使用以下内容获取字符串:
Resources.getSystem().getString(R.string.more)
请参阅此处的更多信息,您应该能够使用以下工具获取字符串:
Resources.getSystem().getString(R.string.more)
请看这里的更多内容
不一样
Resources.getSystem().getString(android.R.string...
只有第二个变量可以在静态上下文中使用。唉,您只能通过这种方式获得系统资源
如果您需要获得自己的资源,则不存在单行解决方案。使用@Cristian的溶液。请注意:这是一个非常好的解决方案,更重要的是,它是安卓创造者使用的解决方案
不一样
Resources.getSystem().getString(android.R.string...
只有第二个变量可以在静态上下文中使用。唉,您只能通过这种方式获得系统资源
如果您需要获得自己的资源,则不存在单行解决方案。使用@Cristian的溶液。请注意:这是一个非常好的解决方案,更重要的是,它是安卓系统创建者使用的解决方案。这是否回答了您的问题?如果你在活动中,那么使用getString(R.string.more)直接编码>而不是getContext().getString(R.string.more)代码>不,它没有回答我的问题,因为我没有上下文。谢谢你的评论。我没有参加任何活动。正如我在问题中所写的那样,这只是一个没有任何布局的Java类。可能会删除静态
(因为这是与MikaelM答案的唯一区别)。这是否回答了您的问题?如果你在活动中,那么使用getString(R.string.more)直接编码>而不是getContext().getString(R.string.more)代码>不,它没有回答我的问题,因为我没有上下文。谢谢你的评论。我没有参加任何活动。正如我在问题中所写的,这只是一个没有任何布局的Java类。可以删除static
(因为这是与MikaelM答案的唯一区别)。您的答案会在类中生成一个“初始值设定项错误中的异常”。该语句主要从静态方法调用。也许这与它为什么不起作用有关。但我不确定,也不知道如何解决这个问题。因此,我非常感谢您的进一步评论。错误是由“android.content.res.Resources$NotFoundException:String resource ID#0x7f120038”引起的“谢谢米凯尔姆到目前为止的帮助。你知道我如何解决上面提到的问题吗?答案可能不够清楚。它只支持系统资源,如果需要本地资源,则需要上下文。这篇文章可能会帮助您解决“上下文问题”[如何从静态上下文中获取资源内容?])()您的回答会在类中生成“初始化器错误中的异常”该语句主要是从静态方法调用的。也许这与它为什么不起作用有关。但我不确定,也不知道如何解决这个问题。因此,我非常感谢您的进一步评论。错误是由“android.content.res.Resources$NotFoundException:String resource ID#0x7f120038”引起的“谢谢米凯尔姆到目前为止的帮助。你知道我如何解决上面提到的问题吗?答案可能不够清楚。它只支持系统资源,如果需要本地资源,则需要上下文。这篇文章可能会帮助你解决“上下文问题”[如何从静态上下文中获取资源内容?]()谢谢Gangnus的回答。在Android中,访问Java类中的翻译字符串的常用方法是什么。可能是存储字符串的SQLite数据库。对于布局,您应该使用资源。我觉得这有点奇怪,对于普通的课程,你不能使用它们。关于这个问题,你有什么经验?很高兴听到你的看法,我也不喜欢,我只能把数据作为一个来源,但prog不能改变他们的下一次发射。但这是因为这个问题的历史。重用不断变化的开始数据的方法有很多:数据库、文件、云……感谢Gangnus的回答。在Android中,访问Java类中的翻译字符串的常用方法是什么。可能是存储字符串的SQLite数据库。对于布局,您应该使用资源。我觉得这有点奇怪,对于普通的课程,你不能使用它们。关于这个问题,你有什么经验?很高兴听到你的看法,我也不喜欢,我只能把数据作为一个来源,但prog不能改变他们的下一次发射。但这是因为这个问题的历史。重用不断变化的开始数据的方法有很多:数据库、文件、云。。。
Resources.getSystem().getString(android.R.string...