2015-02-24 98 views
1

讓我們想象一下,我們有內部值這個文本/ strings.xml中不同的方式來獲取一個字符串形式R.java文件(安卓)

<string name="some_text">HELLO WORLD</string> 

我可以從任何地方撥打這個字符串我的項目中,像這樣:

String s = String.valueOf(R.string.some_text); 

今天筆者瞭解到這個其他的方式做相同的工作:

String s = getResources().getString(R.string.some_text); 

有誰知道使用第二種方式是否有優勢?第一個看起來更短,更容易記住。

謝謝

+0

這是第一個,我已經看到將String.valueOf()的'位置的'工作。有趣的是,如果真的,我不需要從可能不能立即訪問它們的奇怪位置調用'getResources()'。 – 2015-02-24 19:53:44

+1

我很確定String.valueOf(R.string.some_text)會將該字符串的任何int標識符值轉換爲該數字的字符串表示形式。不是你想要的。另外,如果您從Activity或Fragment調用getString,則不必先調用getResources(),因爲可以使用便捷的getString方法。 – 2015-02-24 20:08:05

回答

1

嘗試了兩種方法比較或輸出的s值。它們不一樣:) String.valueOf(R.string.some_text)返回資源id整數的字符串表示形式。 getResources().getString(R.string.some_text);可能做你想要的。

正確的方法是getResources().getString(R.string.some_text);並且有由@ danny117提到的其他方便的方法,但它們都依賴於特定的代碼

相關問題