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