如何为MY TEXT创建@string资源而不是文本值?我希望它用于不同的语言。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == R.drawable.v1)textView.setText("MY_TEXT");
else if (resultCode == R.drawable.v2)textView.setText("MY_TEXT2");
答案 0 :(得分:0)
使用此:
textView.setText(getResources().getString(R.string.mytext));
答案 1 :(得分:0)
您可以使用getResources().getString(int id)
示例:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(resultCode == R.drawable.v1)
textView.setText(getResources().getString(
R.string.mystr));
else if (resultCode == R.drawable.v2)
textView.setText(getResources().getString(
R.string.somestr));
}
在res/values/strings.xml
中添加字符串值:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="mystr"> your text</string>
<string name="somestr"> some other text</string>
</resources>
希望这有帮助。
答案 2 :(得分:0)
如果要支持不同的语言,则应为不同的语言提供不同的“值”文件夹,然后将strings.xml文件放在这些文件夹中。像这样:
project_root/
res/
values/
strings.xml
values-es/
strings.xml
values-de/
strings.xml
这里“es”是西班牙语的ISO语言代码,德语的“de”等等。您可以在List of ISO 639-1 codes找到完整的列表。
然后,在代码中引用它们时,只需使用普通的 R.string.my_string_name 即可。根据设备的位置设置,它将选择可用的语言文件。如果不存在所需的语言文件,它将选择默认值。