Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在没有布局的Android中使用Java文件中的字符串资源_Java_Android_String - Fatal编程技术网

如何在没有布局的Android中使用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

我有一个主要包含字符串的Java类。它没有布局,因为它既不是片段也不是活动。它更多地用作辅助类。我希望通过使用资源字符串在类中分配字符串值,因为我希望自动转换字符串。但是,我无法从Java访问字符串资源。我使用以下代码:

 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...