2013-04-05 51 views
0

我正在尝试为TicTacToe游戏动态更改文本。需要帮助来更改TextView

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

我希望把屏幕上的一个TextView至极会改变,例如如果玩家X赢得了比赛,“球员X荣获”会显示出来,或“Joueur X加涅”法语。

很容易的,我手动执行此操作只用一种语言使用

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> 

所以,我怎么能使用“名称”文本更改?

回答

3

您可以参考字符串的strings.xml如下

tv.setText(R.string.text); 

在代码:从子类的R类别中使用一个静态的整数,如:

R.string。文本

字符串是资源类型,文本是资源名称。

更多详细信息在http://developer.android.com/guide/topics/resources/accessing-resources.html

+0

在这个世界里不可能得到没有'getResources()。getString(id)' – Pragnani 2013-04-05 17:44:50

+0

的字符串名称你建议你不能这样设置文本? – Raghunandan 2013-04-05 17:47:09

+0

我还没有找到像setText这样的访问整数的任何方法检查这个http://developer.android.com/reference/android/widget/TextView.html#setText%28java.lang.CharSequence,%20android.widget.TextView。 BufferType%29 – Pragnani 2013-04-05 17:47:56