2009-12-23 23 views
0

我已經費盡我的頭這... ...不能得到本地化的XML文件中的字符串正確

我有一個本地化的strings.xml文件值恩與這個字符串的文件夾: @字符串/ my_string

該字符串存儲在英文的以下文字:「我的字符串」

當通過佈局訪問本地化的字符串,它工作正常。

當我嘗試在代碼中進行更改時,這就是我遇到問題的地方。

我將字符串存儲到字符串數組中供以後使用。 'context'從我的活動傳遞到一個數據類,並用於這行代碼:

dataStrings = new String [] {(String)context.getResources()。getString(R.string.my_string)} ;

後來,我嘗試顯示該字符串,像這樣:

鍵[0] .setText(dataStrings [0]);

它顯示:

@字符串/ my_string

我如何得到它顯示沒有 '@字符串/' 字符串,正確的本地化的字符串?

回答

2

您可以運行getString() directly on the Context object;你不需要運行getResources()。但是,這應該和你現在做的一樣,所以我不認爲這是你問題的根源。

首先要確認的是,您認爲正在發生的事情正在發生。使用調試器檢查buttons[0]是否包含"@string/my_string"或嘗試使用硬編碼值調用setText()以確保文本實際上是在正確的按鈕上更新的 - 例如, buttons[0].setText("StackOverflow!");

+0

謝謝戴夫! 檢查字符串內容後,我注意到我使用了一個不正確的數組索引(該數組比發佈的示例大得多)。 此外,謝謝你的上下文對象。有什麼方法可以靜態調用它,而不必傳遞上下文嗎?我試過了: Context.getResources()。getString(R.string.my_string) 但我不能用is就是非靜態方法。 –

相關問題