我如何以编程方式引用/values/strings.xml文件中的某些内容?

时间:2012-05-09 10:50:59

标签: android xml string

我在strings.xml文件中有一些项目,我想以编程方式更改,最初我是通过setText();调用来完成的,但现在我正在尝试将我的应用程序翻译成另一种语言,这意味着一切需要在我的strings.xml文件中设置。是否可以将我的应用程序的所有文本放入strings.xml并通过引用字符串名称以编程方式更改内容,而不是使用setText()函数调用?例如,我如何引用“GrandTotal”?

<string name="GrandTotal">Grand Total:</string>
<string name="choose_prompt">Choose a Mode</string>

4 个答案:

答案 0 :(得分:17)

您可以使用setText(R.string.GrandTotal);

如果您无法直接通过resId设置文字,可以使用getString(R.string.GrandTotal);

答案 1 :(得分:6)

为避免在resourceIds和real intts之间产生混淆,您还可以使用

之类的语句
String s = getResources().getString( R.string.grand_total );

但是对于大多数ui方法,重载通常提供直接传递resourceIds的支持,如@Keyboardsurfer所说

答案 2 :(得分:1)

试试这种方式。我希望它可以帮助你。

setText(getResources().getString(R.string.GrandTotal));

答案 3 :(得分:0)

在活动中:

String str = getString(R.string.choose_prompt);

String str = this.getString(R.string.choose_prompt);