如何使Java代码从XML文件调用String(在Android Studio中)

时间:2014-08-19 10:59:07

标签: java android xml string android-studio

我有这个代码,我想使它成为多语言应用程序。我想要的是使用字符串 来自值目录下的Strings.xml文件。

我们说我有Toast ...

Toast.makeText(getApplicationContext(), "WELCOME", Toast.LENGTH_LONG).show(); 

但是我不想把欢迎放在java中但是要从xml文件中获取它,但是如何?

5 个答案:

答案 0 :(得分:8)

getString(R.string.welcome)代替"欢迎"。

答案 1 :(得分:5)

你必须像这样使用它:

getApplicationContext().getResources().getString(R.string.YOURSTRING);

取决于代码中的位置,简单

getString(R.string,ID);

就足够了。

答案 2 :(得分:2)

在res / values文件夹中有一个名为strings.xml的文件,其中包含String

示例

<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

答案 3 :(得分:0)

您可以在当前代码段上方添加此行:

String data=userInput.getEditableText().toString();

此处,userInput是xml文件中EditText标记的ID。

只需将代码的原始行更改为:

Toast.makeText(getApplicationContext(), "You entered "+data, Toast.LENGTH_LONG).show();

答案 4 :(得分:0)

字符串文件

<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();