Android java,使用getString()从string.xml导入字符串时出错
Posted
技术标签:
【中文标题】Android java,使用getString()从string.xml导入字符串时出错【英文标题】:Android java, error during import of string from string.xml with getString() 【发布时间】:2015-10-23 12:23:35 【问题描述】:我有问题。 我正在创建一个在单元格中存储数据的应用程序,但首先创建一个包含各种文件的文件夹。此文件夹将包含应用程序的名称,但此时仍会收到错误消息。
原因:android.content.res.Resources$NotFoundException:字符串资源 ID #0x7f060014
班级是:
public class Config
private Properties configuration;
public static String root = Resources.getSystem().getString((R.string.app_name)) + "_data_file";
public File cartella = new File(Environment.getExternalStorageDirectory() + "/Android/obb/"+ root);
private String configurationFile = Environment.getExternalStorageDirectory() + "/Android/obb/"+ root + "/config.ini";
而 String.xml 是:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Il Maestro</string>
<string name="homefrontextb">Per iniziare,completa il modulo.</string>
<string name="homefrontext">Per iniziare,seleziona la tua lingua.</string>
<string name="action_settings">Settings</string>
<string name="sondaggiopub">Come hai conosciuto quest\' app?</string>
<string name="Pubblicita">Pubblicità</string>
<string name="socialnetwork">Social Network</string>
<string name="amici">Consigliata dagli amici</string>
<string name="store">Visita casuale sullo store</string>
<string name="namehome">Nome</string>
<string name="cognomehome">Cognome</string>
<string name="nickhome">Nickname</string>
<string name="emailhome">Email</string>
</resources>
但是,当我尝试将字符串作为 int 获取时,它可以工作,并且我得到数字“2131099668”
请帮帮我,我快疯了..
【问题讨论】:
尝试从 Resources.getSystem() 更改为 getResources()。 【参考方案1】:Resources.getSystem()
检索系统的资源,而不是您应用的特定资源。来自文档
返回一个全局共享资源对象,该对象仅提供对 系统资源(无应用程序资源),并且未配置为 当前屏幕(不能使用尺寸单位,不改变基于 关于方向等)。
您需要应用的上下文来访问您的特定资源
【讨论】:
写个代码例子,看不懂你的意思。 我已经解决了...非常感谢!!!它已经声明了一个带有上下文的函数并在 main 中调用了方法!!!谢谢你救了我的命哈哈哈以上是关于Android java,使用getString()从string.xml导入字符串时出错的主要内容,如果未能解决你的问题,请参考以下文章
在 Android 上将 getString 与 JSONObject 类一起使用时获取 null
Android用getString值初始化一个String []?
java 要在Java的代码中,直接访问该资源,只需使用getResources.getString或的getString方法来访问给定的资源ID值:
java 要在Java的代码中,直接访问该资源,只需使用getResources.getString或的getString方法来访问给定的资源ID值:
java 要在Java的代码中,直接访问该资源,只需使用getResources.getString或的getString方法来访问给定的资源ID值: