需要帮助来更改TextView

时间:2013-04-05 17:31:35

标签: android textview multilingual

我正在尝试为TicTacToe游戏动态更改文本。

leTexte = (TextView) findViewById(R.id.text);

我想在屏幕上显示一个将要更改的TextView,例如,如果玩家X赢得游戏,将显示“玩家X赢”,或者法语中的“Joueur X gagne”。

我很容易使用

以一种语言手动完成此操作
leTexte.setText("Player X Won");

但我想将我的XML文件用于许多其他语言。这里是主XML

的示例
  android:id="@+id/text"
  android:text="@string/text" 

英语Strings.xml看起来像这样

    <string name="text"></string> //nothing at start
    <string name="textX">Player X Wins</string>
    <string name="textO">Player O Won !</string>
    <string name="textT">TIE !</string>
    <string name="textU">Your Turn</string>

那么,如何使用“名称”更改文本?

1 个答案:

答案 0 :(得分:3)

您可以在strings.xml中引用字符串,如下所示

 tv.setText(R.string.text);

在代码中:使用R类子类中的静态整数,例如:

R.string.text

string是资源类型,text是资源名称。

http://developer.android.com/guide/topics/resources/accessing-resources.html的更多详情。