【问题标题】:How to make the Java code to call a String from a XML file(In Android Studio)如何使 Java 代码从 XML 文件中调用字符串(在 Android Studio 中)
【发布时间】:2014-10-12 10:51:33
【问题描述】:
我有这个代码,我想把它做成多语言应用程序。我想要的是使用字符串
来自 values 目录下的 Strings.xml 文件。
假设我有一个Toast...
Toast.makeText(getApplicationContext(), "WELCOME", Toast.LENGTH_LONG).show();
但我不想把欢迎放在java中而是从xml文件中获取它,但是如何?
【问题讨论】:
标签:
java
android
xml
string
android-studio
【解决方案1】:
字符串文件
<string name="hi"> Hi </string>
<string name="ten"> out of 10 </string>
<string name="youHaveScored"> you have Scored </string>
Java 文件
String finalScore = getString(R.string.hi) +name+ getString(R.string.youHaveScored)+score+ getString(R.string.ten);
Toast.makeText(getApplicationContext(),finalScore,Toast.LENGTH_LONG).show();
【解决方案2】:
您可以在当前代码 sn-p 上方添加此行:
String data=userInput.getEditableText().toString();
这里,userInput 是您在 xml 文件中的 EditText 标记的 id。
只需将代码的原始行更改为:
Toast.makeText(getApplicationContext(), "You entered "+data, Toast.LENGTH_LONG).show();
【解决方案3】:
你必须像这样使用它:
getApplicationContext().getResources().getString(R.string.YOURSTRING);
根据代码中的位置,一个简单的
getString(R.string,ID);
应该够了。
【解决方案4】:
在 res/values 文件夹中有一个名为 strings.xml 的文件将字符串放在那里
例子
<string name="welcome">Welcome</string>
并将 Toast 更改为
Toast.makeText(getApplicationContext(),R.string.welcome, Toast.LENGTH_LONG).show();
现在,如果您想添加更多语言,请在根据语言命名的 res 文件夹中创建库:values-fr/ 并放在 strings.xml 中
Android Multi Language Tutorial
【解决方案5】:
用getString(R.string.welcome) 代替“欢迎”。