2013-04-05 50 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