我有这个代码,我想使它成为多语言应用程序。我想要的是使用字符串 来自值目录下的Strings.xml文件。
我们说我有Toast
...
Toast.makeText(getApplicationContext(), "WELCOME", Toast.LENGTH_LONG).show();
但是我不想把欢迎放在java中但是要从xml文件中获取它,但是如何?
答案 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中
答案 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();