4

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

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

4 回答 4

19

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

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

于 2012-05-09T10:52:43.817 回答
6

为避免 resourceIds 和真实整数之间的混淆,您还可以使用如下语句

String s = getResources().getString( R.string.grand_total );

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

于 2012-05-09T10:55:19.030 回答
1

试试这个方法。我希望它对你有帮助。

setText(getResources().getString(R.string.GrandTotal));
于 2015-04-11T09:03:55.377 回答
0

在 Acriivity 中:

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

或者

String str = this.getString(R.string.choose_prompt);
于 2012-05-09T11:04:28.057 回答